Java 21 Features
Java 21 Features
String Templates (Preview)
Ex:
String name = "BSS Java";
String greeting = STR."Hello, \{name}!";
Sequenced Collections
- SequencedCollection
Ex:
SequencedCollection<String> names = new ArrayList<>();
names.addFirst("Alice");
names.addLast("Bob");
names.getFirst();
names.getLast();
names.removeFirst();
names.removeLast();
- SequencedSet
Ex:
SequencedCollection<String> set = new LinkedHashSet<>();
// Adding elements
set.addFirst("Alice");
set.addLast("Bob");
set.getFirst();
set.getLast();
set.removeFirst();
set.removeLast();
- SequencedMap
putFirst(K key, V value)
putLast(K key, V value)
pollFirstEntry()
pollLastEntry()
firstEntry()
lastEntry()
Ex:
SequencedMap<String, Integer> map = new LinkedHashMap<>();
// Adding entries
map.putFirst("Alice", 25);
map.putLast("Bob", 30);
map.firstEntry()
map.lastEntry()
map.pollFirstEntry();
map.pollLastEntry();
Record Patterns
Ex:
if (obj instanceof Point(int x, int y)) {
System.out.println(x + y);
}
Pattern Matching for switch
Ex:
switch (obj) {
case String s -> System.out.println("It's a string: " + s);
case null -> System.out.println("It's null");
default -> System.out.println("Unknown type");
}
Unnamed Patterns and Variables (Preview)
Unnamed Classes and Instance main Methods (Preview)
Ex:
// Save as Example.java
void main() {
System.out.println("Hello, Java 21!");
}
>java --enable-preview --source 21 Example.java
Scoped Values (Preview)
Comments
Post a Comment