对于'assert'关键字的引入可能是众所周知的例外,Java语言规范是否曾发生变化,导致旧代码不再与JDK的较新源代码兼容?
到目前为止的摘要(非常感谢您的评论):
“旧版”Java代码在升级到更高版本时会导致编译错误,如果代码使用其中一个关键字的声明,这些关键字在Java语言规范(JLS)的更高版本中引入:
答案 0 :(得分:7)
strictfp
keyword。assert
keyword。enum
keyword。答案 1 :(得分:2)
我相信_
被指定为"关键字"在Java 9中。参见https://blogs.oracle.com/sundararajan/underscore-is-a-keyword-in-java-9%2c-use-this-script-to-check-your-code
答案 2 :(得分:2)
Java 10使var
成为关键字。它仍然是一个有效的变量名,但却是一个非法的类名。