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):
strictfp keyword.assert keyword.enum keyword.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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With