Predicate.not() ile olumsuzlama
Lambda sarmalayıcılar yazmak yerine metot referanslarını temiz biçimde olumsuzlamak için Predicate.not() kullanın.
Kod Karşılaştırması
✕ Java 8
List<String> nonEmpty = list.stream()
.filter(s -> !s.isBlank())
.collect(Collectors.toList());
✓ Java 11+
List<String> nonEmpty = list.stream()
.filter(Predicate.not(String::isBlank))
.toList();
Bu kodda bir sorun mu gördünüz? Bize bildirin.
Modern yöntem neden daha iyi
Daha temiz olumsuzlama
Metot referanslarını olumsuzlamak için lambda içine sarmaya gerek kalmaz.
Birleştirilebilir
Her Predicate ile çalışır; temiz koşul zincirleri oluşturmayı sağlar.
Doğal okunur
Predicate.not(String::isBlank) İngilizce gibi okunur.
Eski Yaklaşım
Lambda olumsuzlama
Modern Yaklaşım
Predicate.not()
JDK'dan itibaren
11
Zorluk
Başlangıç
JDK Desteği
Predicate.not() ile olumsuzlama
Mevcut
JDK 11'den itibaren kullanılabilir (Eylül 2018).
Nasıl çalışır
Java 11'den önce bir metot referansını olumsuzlamak için onu bir lambda içine sarmak gerekiyordu. Predicate.not(), herhangi bir koşulu doğrudan olumsuzlamanıza olanak tanır; bu sayede kod okunabilirliği korunur ve akış hattı boyunca metot referansı stiliyle tutarlılık sağlanır.
İlgili Belgeler