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

Popular posts from this blog

Java 25 Features

Java Version Features

Java 8 Programs