Tiplendirilmiş stream toArray
Stream'leri metot referansıyla tiplendirilmiş dizilere dönüştürün.
Kod Karşılaştırması
✕ Pre-Streams
List<String> list = getNames();
List<String> filtered = new ArrayList<>();
for (String n : list) {
if (n.length() > 3) {
filtered.add(n);
}
}
String[] arr = filtered.toArray(new String[0]);
✓ Java 8+
String[] arr = getNames().stream()
.filter(n -> n.length() > 3)
.toArray(String[]::new);
Bu kodda bir sorun mu gördünüz? Bize bildirin.
Modern yöntem neden daha iyi
Tip güvenli
Object[] dönüşümü yok — dizi türü doğrudur.
Zincirlenebilir
Herhangi bir stream hattının sonunda çalışır.
Kısa ve öz
Tek ifade elle yapılan döngünün yerini alır.
Eski Yaklaşım
Elle Filtreleme + Kopyalama
Modern Yaklaşım
toArray(generator)
JDK'dan itibaren
8
Zorluk
Başlangıç
JDK Desteği
Tiplendirilmiş stream toArray
Mevcut
JDK 8'den itibaren geniş çapta kullanılabilir (Mart 2014)
Nasıl çalışır
toArray(IntFunction) metodu, bir stream'den düzgün tiplendirilmiş bir dizi oluşturur. Üretici (String[]::new), stream'e hangi türde dizi oluşturacağını söyler.
İlgili Belgeler
Kanıt