Java 1.2
strictfp
keyword.
Java 1.4
assert
keyword.
Java 1.5
enum
keyword.
Question
With the problably widely known exception of the introduction of the 'assert' keyword, has there ever been a change in the Java language specification which caused old code to be no longer compatible with newer source levels of the JDK?
Summary so far (many thanks for the comments):
"Older" Java code can cause compilation errors, when upgrading to a later version, if the code uses declarations using one of the keywords which where introduced in a later version of the Java language specification (JLS):
La solution
strictfp
keyword.assert
keyword.enum
keyword.Autres conseils
I believe that _
was designated a "keyword" in Java 9. See https://blogs.oracle.com/sundararajan/underscore-is-a-keyword-in-java-9%2c-use-this-script-to-check-your-code
Java 10 made var
a keyword. It's still a valid variable name but an illegal class name.