Karakter akışı olarak String
Metin karakterlerini bir akış hattı olarak işleyin.
Kod Karşılaştırması
✕ 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));
Bu kodda bir sorun mu gördünüz? Bize bildirin.
Modern yöntem neden daha iyi
Zincirlenebilir
Karakter akışları üzerinde filter, map ve collect kullanılabilir.
Bildirimsel
Nasıl döngü kurulacağını değil, ne yapılacağını tanımlayın.
Unicode'a hazır
codePoints(), emoji ve ek karakterleri doğru şekilde işler.
Eski Yaklaşım
Manuel Döngü
Modern Yaklaşım
chars() Stream
JDK'dan itibaren
9
Zorluk
Başlangıç
JDK Desteği
Karakter akışı olarak String
Mevcut
JDK 8+'dan itibaren kullanılabilir (9+'da geliştirildi)
Nasıl çalışır
String.chars(), karakter değerlerinden oluşan bir IntStream döndürerek işlevsel işlemeye olanak tanır. Unicode desteği için codePoints(), ek karakterleri doğru biçimde işler.
İlgili Belgeler