String-Zeichen als Stream
String-Zeichen als Stream-Pipeline verarbeiten.
Code-Vergleich
✕ Java 8
for (int i = 0; i < str.length(); i++) {
char c = str.charAt(i);
if (Character.isDigit(c)) {
process(c);
}
}
✓ Java 9+
str.chars()
.filter(Character::isDigit)
.forEach(c -> process((char) c));
Problem mit diesem Code entdeckt? Sag uns Bescheid.
Warum der moderne Weg gewinnt
Verkettbar
Filter, Map, Collect auf Zeichen-Streams anwenden.
Deklarativ
Beschreibt was zu tun ist, nicht wie zu iterieren.
Unicode-bereit
codePoints() behandelt Emojis und ergänzende Zeichen korrekt.
Alter Ansatz
Manuelle Schleife
Moderner Ansatz
chars()-Stream
Seit JDK
9
Schwierigkeitsgrad
Einsteiger
JDK-Unterstützung
String-Zeichen als Stream
Verfügbar
Verfügbar seit JDK 8+ (verbessert in 9+)
Wie es funktioniert
String.chars() gibt einen IntStream von Zeichenwerten zurück und ermöglicht funktionale Verarbeitung. Für Unicode-Unterstützung behandelt codePoints() ergänzende Zeichen korrekt.
Zugehörige Dokumentation