Strings Początkujący

Używaj String.lines() do dzielenia tekstu na strumień wierszy bez narzutu regex.

✕ 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);
Widzisz problem z tym kodem? Daj nam znać.

Leniwe strumieniowanie

Wiersze są produkowane na żądanie, nie wszystkie naraz jak split().

🔧

Uniwersalne zakończenia linii

Obsługuje \n, \r i \r\n automatycznie bez regex.

🔗

Integracja ze strumieniami

Zwraca Stream do bezpośredniego użycia z filter, map, collect.

Stare podejście
split("\\n")
Nowoczesne podejście
lines()
Od JDK
11
Poziom trudności
Początkujący
String.lines() do podziału na wiersze
Dostępne

Dostępne od JDK 11 (wrzesień 2018)

String.lines() zwraca Stream<String> wierszy podzielonych przez \n, \r lub \r\n. Jest leniwszy i bardziej efektywny niż split(), unika kompilacji regex i integruje się naturalnie z Stream API do dalszego przetwarzania.