如何在Java 8中使用Java 7个HashMap?
How to use Java 7 HashMaps in Java 8?
我正在升级依赖于 HashMap Java 7 次迭代顺序的应用程序。 Java 8 HashMap 改变了它的迭代顺序,这与这个应用程序的某些部分不兼容(可能是糟糕的设计),我不得不使用 Java 7 HashMaps 成功地将应用程序迁移到 Java 8 . 这是我想到的方法:
- 制作一个 Java7HashMap 扩展常规 Java8HashMap
- 查找Java7 HashMap的源码,复制粘贴。
- 将 "import java.util.HashMap;" 替换为 "import (...).Java7HashMap;"
- 全面测试。
这是个好方法吗?不幸的是,重写依赖于 HashMap Java 7 版本的部分不是一个选项。
问题不在于HashMap
,问题在于使用HashMap
的代码错了! HashMap 不为订单提供保证。
更正使用HashMap
错误的代码!这也使代码与 JDK 的更高版本兼容。
是的,你的方法很好。虽然每个人似乎都有一种不足的感觉。但是,您只想更改实现:
Map<Lorem, Ipso> goodMap = new HashMap<>();
HashMap<Foo, Bar> badMap = new HashMap<>();
因此仅将 new HashMap
替换为 new Java7HashMap
找到所有不合适的地方,并允许以后合并,比如使用 Comparable 更好的密钥。
您可能只需要 implement Map
of java 8,实际上我什至不在乎缺少 java 8 支持,因为它会像以前一样工作,并且进一步的发展 应该 提供 Java7HashMap 的替代品。更好地投入时间进行重写。 胡萝卜加大棒的方法。
我正在升级依赖于 HashMap Java 7 次迭代顺序的应用程序。 Java 8 HashMap 改变了它的迭代顺序,这与这个应用程序的某些部分不兼容(可能是糟糕的设计),我不得不使用 Java 7 HashMaps 成功地将应用程序迁移到 Java 8 . 这是我想到的方法:
- 制作一个 Java7HashMap 扩展常规 Java8HashMap
- 查找Java7 HashMap的源码,复制粘贴。
- 将 "import java.util.HashMap;" 替换为 "import (...).Java7HashMap;"
- 全面测试。
这是个好方法吗?不幸的是,重写依赖于 HashMap Java 7 版本的部分不是一个选项。
问题不在于HashMap
,问题在于使用HashMap
的代码错了! HashMap 不为订单提供保证。
更正使用HashMap
错误的代码!这也使代码与 JDK 的更高版本兼容。
是的,你的方法很好。虽然每个人似乎都有一种不足的感觉。但是,您只想更改实现:
Map<Lorem, Ipso> goodMap = new HashMap<>();
HashMap<Foo, Bar> badMap = new HashMap<>();
因此仅将 new HashMap
替换为 new Java7HashMap
找到所有不合适的地方,并允许以后合并,比如使用 Comparable 更好的密钥。
您可能只需要 implement Map
of java 8,实际上我什至不在乎缺少 java 8 支持,因为它会像以前一样工作,并且进一步的发展 应该 提供 Java7HashMap 的替代品。更好地投入时间进行重写。 胡萝卜加大棒的方法。