9

除了引入 'assert' 关键字这一可能广为人知的例外,Java 语言规范中是否曾经发生过变化,导致旧代码不再与 JDK 的新源级别兼容?


到目前为止的总结(非常感谢您的评论):

在升级到更高版本时,如果代码使用在更高版本的 Java 语言规范 (JLS) 中引入的关键字之一进行声明,“旧”Java 代码可能会导致编译错误:

  • 断言
  • 枚举
  • 严格的fp
4

3 回答 3

7

Java 1.2

  • strictfp关键词。

Java 1.4

  • assert关键词。

Java 1.5

  • enum关键词。
于 2013-05-12T11:09:25.173 回答
3

我相信这_在 Java 9 中被指定为“关键字”。请参阅https://blogs.oracle.com/sundararajan/underscore-is-a-keyword-in-java-9%2c-use-this-script-to-检查你的代码

于 2017-12-12T03:32:56.027 回答
2

Java 10 做var了一个关键字。它仍然是一个有效的变量名,但一个非法的类名。

于 2018-03-21T15:55:08.003 回答