String.lines() ile satır bölme
Regex yükü olmadan metni satırlara bölmek için String.lines() kullanın.
Kod Karşılaştırması
✕ 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);
Bu kodda bir sorun mu gördünüz? Bize bildirin.
Modern yöntem neden daha iyi
Tembel akış
Satırlar, split() gibi hepsi bir anda değil, isteğe bağlı olarak üretilir.
Evrensel satır sonları
\n, \r ve \r\n otomatik olarak regex olmadan işlenir.
Stream entegrasyonu
filter, map ve collect ile doğrudan kullanım için Stream döndürür.
Eski Yaklaşım
split("\\n")
Modern Yaklaşım
lines()
JDK'dan itibaren
11
Zorluk
Başlangıç
JDK Desteği
String.lines() ile satır bölme
Mevcut
JDK 11'den itibaren kullanılabilir (Eylül 2018).
Nasıl çalışır
String.lines(), \n, \r veya \r\n ile bölünmüş satırlardan oluşan bir Stream<String> döndürür. split()'ten daha tembel ve verimlidir; regex derlenmesinden kaçınır ve daha ileri işleme için Stream API ile doğal biçimde entegre olur.
İlgili Belgeler