- Type Parameters:
T
- the type of the input to the predicate
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
@FunctionalInterface public interface Predicate<T>
Represents a predicate (boolean-valued function) of one argument.
This is a functional interface
whose functional method is test(Object)
.
- Since:
- 1.8
-
Method Summary
Modifier and Type Method Description default Predicate<T>
and(Predicate<? super T> other)
Returns a composed predicate that represents a short-circuiting logical AND of this predicate and another.static <T> Predicate<T>
isEqual(Object targetRef)
Returns a predicate that tests if two arguments are equal according toObjects.equals(Object, Object)
.default Predicate<T>
negate()
Returns a predicate that represents the logical negation of this predicate.static <T> Predicate<T>
not(Predicate<? super T> target)
Returns a predicate that is the negation of the supplied predicate.default Predicate<T>
or(Predicate<? super T> other)
Returns a composed predicate that represents a short-circuiting logical OR of this predicate and another.boolean
test(T t)
Evaluates this predicate on the given argument.
-
Method Details
-
test
Evaluates this predicate on the given argument.- Parameters:
t
- the input argument- Returns:
true
if the input argument matches the predicate, otherwisefalse
-
and
Returns a composed predicate that represents a short-circuiting logical AND of this predicate and another. When evaluating the composed predicate, if this predicate isfalse
, then theother
predicate is not evaluated.Any exceptions thrown during evaluation of either predicate are relayed to the caller; if evaluation of this predicate throws an exception, the
other
predicate will not be evaluated.- Parameters:
other
- a predicate that will be logically-ANDed with this predicate- Returns:
- a composed predicate that represents the short-circuiting logical
AND of this predicate and the
other
predicate - Throws:
NullPointerException
- if other is null
-
negate
Returns a predicate that represents the logical negation of this predicate.- Returns:
- a predicate that represents the logical negation of this predicate
-
or
Returns a composed predicate that represents a short-circuiting logical OR of this predicate and another. When evaluating the composed predicate, if this predicate istrue
, then theother
predicate is not evaluated.Any exceptions thrown during evaluation of either predicate are relayed to the caller; if evaluation of this predicate throws an exception, the
other
predicate will not be evaluated.- Parameters:
other
- a predicate that will be logically-ORed with this predicate- Returns:
- a composed predicate that represents the short-circuiting logical
OR of this predicate and the
other
predicate - Throws:
NullPointerException
- if other is null
-
isEqual
Returns a predicate that tests if two arguments are equal according toObjects.equals(Object, Object)
.- Type Parameters:
T
- the type of arguments to the predicate- Parameters:
targetRef
- the object reference with which to compare for equality, which may benull
- Returns:
- a predicate that tests if two arguments are equal according
to
Objects.equals(Object, Object)
-
not
Returns a predicate that is the negation of the supplied predicate. This is accomplished by returning result of the callingtarget.negate()
.- Type Parameters:
T
- the type of arguments to the specified predicate- Parameters:
target
- predicate to negate- Returns:
- a predicate that negates the results of the supplied predicate
- Throws:
NullPointerException
- if target is null- Since:
- 11
-