Java 9 | Module System | Java 9 introduced the module system, which is designed to improve the maintainability and scalability of large applications. |
Java 10 | Local-Variable Type Inference | Java 10 introduced the feature of local-variable type inference, which allows developers to declare local variables without specifying their type. |
Java 11 | Dynamic Class-File Constants | Java 11 introduced the dynamic class-file constants, which allows dynamically-created class files to be loaded as constants. |
Java 12 | Switch Expressions | Java 12 introduced the switch expressions, which are an enhancement to the switch statement that provides a more concise and readable syntax for certain switch cases. |
Java 13 | Text Blocks | Java 13 introduced text blocks, which are a new kind of string literal that can span multiple lines of source code. |