Strings Einsteiger

String.lines() verwenden, um Text ohne Regex-Overhead in einen Stream von Zeilen aufzuteilen.

✕ Java 8
String text = "one\ntwo\nthree";
String[] lines = text.split("\n");
for (String line : lines) {
    System.out.println(line);
}
✓ Java 11+
String text = "one\ntwo\nthree";
text.lines().forEach(IO::println);
Problem mit diesem Code entdeckt? Sag uns Bescheid.

Lazy-Streaming

Zeilen werden bei Bedarf erzeugt, nicht alle auf einmal wie bei split().

🔧

Universelle Zeilenendezeichen

Behandelt \n, \r und \r\n automatisch ohne Regex.

🔗

Stream-Integration

Gibt einen Stream zur direkten Verwendung mit filter, map, collect zurück.

Alter Ansatz
split("\\n")
Moderner Ansatz
lines()
Seit JDK
11
Schwierigkeitsgrad
Einsteiger
String.lines() zum Aufteilen von Zeilen
Verfügbar

Verfügbar seit JDK 11 (September 2018).

String.lines() gibt einen Stream<String> von Zeilen zurück, aufgeteilt nach \n, \r oder \r\n. Es ist träger und effizienter als split(), vermeidet Regex-Kompilierung und lässt sich natürlich in die Stream-API für weitere Verarbeitung integrieren.

Teilen 𝕏 🦋 in