Streams Principiante

Usa Predicate.not() per negare i riferimenti a metodo in modo pulito invece di scrivere wrapper lambda.

✕ 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();
Vedi un problema con questo codice? Faccelo sapere.
👁

Negazione più pulita

Non è necessario avvolgere i riferimenti a metodo in lambda solo per negarli.

🔗

Componibile

Funziona con qualsiasi Predicate, abilitando catene di predicati pulite.

📖

Lettura naturale

Predicate.not(String::isBlank) si legge come in inglese.

Approccio Vecchio
Negazione lambda
Approccio Moderno
Predicate.not()
Dal JDK
11
Difficoltà
Principiante
Predicate.not() per la negazione
Disponibile

Disponibile dal JDK 11 (settembre 2018).

Prima di Java 11, negare un riferimento a metodo richiedeva di avvolgerlo in una lambda. Predicate.not() permette di negare qualsiasi predicato direttamente, mantenendo il codice leggibile e coerente con lo stile dei riferimenti a metodo in tutta la pipeline stream.

Condividi 𝕏 🦋 in