Streams Débutant

Utilisez Predicate.not() pour nier des références de méthodes proprement au lieu d'écrire des lambdas enveloppants.

✕ 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();
Un problème avec ce code ? Dites-le nous.
👁

Négation plus propre

Pas besoin d'envelopper les références de méthodes dans des lambdas juste pour les nier.

🔗

Composable

Fonctionne avec n'importe quel Predicate, permettant des chaînes de prédicats propres.

📖

Se lit naturellement

Predicate.not(String::isBlank) se lit comme un langage naturel.

Ancienne Approche
Négation avec lambda
Approche Moderne
Predicate.not()
Depuis JDK
11
Difficulté
Débutant
Predicate.not() pour la négation
Disponible

Disponible depuis JDK 11 (septembre 2018).

Avant Java 11, nier une référence de méthode nécessitait de l'envelopper dans une lambda. Predicate.not() permet de nier n'importe quel prédicat directement, gardant le code lisible et cohérent avec le style de références de méthodes dans tout le pipeline de stream.

Partager 𝕏 🦋 in