Java版本升级到8

时间:2016-03-09 13:32:21

标签: java java-8

我知道类似的问题已经得到了回答,但我有一个具体的问题,如果有人可以提出一些建议,那就更好了。 我正在尝试将几个应用程序(使用Swing的桌面应用程序)迁移到Java版本8.目前用于编译和运行的版本是6.

这两个使用JDK 5编译的应用程序使用了大量第三方API(不再受支持)。

我计划使用JDK 8编译应用程序但是为了避免任何更复杂的(并且返工)想要保留第三方API(在版本5上编译),即使我确实拥有API的完整源代码。

你认为这是一个好主意,我需要注意哪些要点。

编辑:

为了确保我的qustion在这里 - 考虑到Java 5和Java 8之间的行为和源代码不兼容,实际上是否可能并且很可能使用版本5编译的API与JRE 8完全正常,但是我尝试重新编译使用JDK 8,它会因编译错误而失败吗?

提前致谢

1 个答案:

答案 0 :(得分:1)

通常旧代码在较新的JVM上运行没有问题。

需要考虑的例外情况很少。 它们列在java 8 compatibility guide

每个不兼容性都以数字列出。

作为示例,如果在java 8中传递null参数,则类removeAll中的Collection具有不同的行为:

  

RFE 7131459

     

区域:Core Libs / java.util.collections概要在之前的版本中   发布,Collection.removeAll(Collection)和。的一些实现   retainAll(Collection)会默默地忽略null参数   收藏本身是空的。截至本版本,收藏品将   如果将null作为a提供,则始终抛出NullPointerException   参数。

     

不兼容行为的性质

如果您的代码有一套完整的单元测试,您可以使用Java 8的JRE运行它们并检查它们都不会失败。如果单元测试的覆盖范围已经完成,您可以确定升级到java 8没有问题。

相关问题