← Back to Gists

Predicate not method

📝 Java
amysmith435
amysmith435 · Level 5 ·

This snippet creates a negated predicate using Predicate.not() to easily invert a filtering condition.

Java
import java.util.function.Predicate;
import java.util.List;
import java.util.stream.Collectors; public class Example { public static void main(String[] args) { Predicate<String> isEmpty = String::isEmpty; Predicate<String> isNotEmpty = Predicate.not(isEmpty); List<String> strings = List.of("hello", "", "world"); List<String> nonEmpty = strings.stream() .filter(isNotEmpty) .collect(Collectors.toList()); System.out.println(nonEmpty); }
}

Comments

0
johnsonk johnsonk

I found Predicate.not() handy until I tried chaining it with or() and realized it can break readability fast. Ever had to explain a stream.filter(Predicate.not(SomeClass::isValid)) to a junior dev on a code review?