【发布时间】:2016-08-16 08:33:45
【问题描述】:
我正在升级依赖于 HashMap 的 Java 7 迭代顺序的应用程序。 Java 8 HashMap 改变了它的迭代顺序,这与这个应用程序的一些不兼容(可能是糟糕的设计),我必须使用 Java 7 HashMaps 才能成功地将应用程序迁移到 Java 8。这是我想到的方式:
- 制作一个扩展常规 Java 8 HashMap 的 Java7HashMap
- 查找Java 7 HashMap的源代码,复制粘贴。
- 替换“import java.util.HashMap;”用“import (...).Java7HashMap;”
- 彻底测试一切。
这是一个很好的方法吗?不幸的是,重写依赖于 Java 7 版本的 HashMap 的部分不是一种选择。
【问题讨论】:
-
HashMap 没有排序,那么“依赖Java 7 的HashMap 排序方式”是什么意思?
-
基本上所有较新版本的Java都向后兼容旧版本,我觉得一旦您迁移到Java 8,您应该不会遇到Java 7代码的任何问题。
-
@Simze 除非您依赖未记录的和实现细节,例如在这种情况下(这就是 HashMap 在 Java 7 内部的行为方式)。
-
“很遗憾,重写依赖于 Java 7 版本的 HashMap 的部分是不可行的。”这是为什么?在我看来,这是您应该解决的问题。如果您在说服人们有这种需求时遇到问题,可以在workplace.stackexchange.com 上提问。
-
您似乎对“将应用程序成功迁移到 Java 8”有一个奇怪的定义。复制 Java 7 JRE 实现实际上意味着不迁移到 Java 8...
标签: java hashmap java-8 upgrade java-7