Streams Einsteiger

Predicate.not() verwenden, um Methodenreferenzen sauber zu negieren, statt Lambda-Wrapper zu schreiben.

✕ 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();
Problem mit diesem Code entdeckt? Sag uns Bescheid.
👁

Sauberere Negation

Keine Lambda-Wrapper für Methodenreferenzen nur zur Negation nötig.

🔗

Kombinierbar

Funktioniert mit jedem Predicate und ermöglicht saubere Prädikat-Ketten.

📖

Natürlich lesbar

Predicate.not(String::isBlank) liest sich wie natürliche Sprache.

Alter Ansatz
Lambda-Negation
Moderner Ansatz
Predicate.not()
Seit JDK
11
Schwierigkeitsgrad
Einsteiger
Predicate.not() zur Negation
Verfügbar

Verfügbar seit JDK 11 (September 2018).

Vor Java 11 musste eine Methodenreferenz zur Negation in ein Lambda eingewickelt werden. Predicate.not() ermöglicht die direkte Negation eines beliebigen Prädikats, was den Code lesbar und konsistent mit dem Methodenreferenz-Stil im gesamten Stream-Pipeline hält.

Teilen 𝕏 🦋 in