Here I will include some news about each version of Java, perhaps the most important, at least for development. But remember, there will be more things to know, there are several new things done internally that help a lot.
- Java 8
- Functional Interface
- Optional
- Stream
- Java 9
- Modules
- New methods Stream
- Optional.ifPresentOrElse | Optional.or
- OfUnmodifiable
- Java 10
- Copy Unmodifiable
- Optional.orElseThrow()
- Local-Variable Type Inference
- Java 11
- HttpClient
- Files.writeString | files.readString
- String.strip
- Predicate.not
- Java 12
- Compact Number Formatting
- Teeing method Stream
- Java 13
- Switch Expression | Yield
- Java 14
- NPE Helpful
- Pattern Matching
- Records
- TextBlock
- Java 15
- Sealed Class
- Java 16
- New Stream methods (toList, mapMulti)
- Java 17
- Pattern Matching for Switch
- Java 18
- Deprecate Finalization for Removal
- Java 19
- Virtual Thread
- Java 20
- Pattern Matching for switch (Fourth Preview)
- Record Patterns
- Java 21
- Sequenced Collections
- String Template (Preview)
- String improvements, JDK-8302590 and JDK-8305486
- Unnamed Patterns and Variables (Preview)
- Java 22
- Stream Gatherers
- Statements before super(...)