Added in API level 24

Predicate

public interface Predicate

java.util.function.Predicate<T>


Represents a predicate (boolean-valued function) of one argument.

This is a functional interface whose functional method is test(java.lang.Object).

Summary

Public methods

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 to Objects#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.

abstract boolean test(T t)

Evaluates this predicate on the given argument.

Public methods

and

Added in API level 24
public Predicate<T> and (Predicate<? super T> other)

Returns a composed predicate that represents a short-circuiting logical AND of this predicate and another. When evaluating the composed predicate, if this predicate is false, then the other 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 Predicate: a predicate that will be logically-ANDed with this predicate

Returns
Predicate<T> a composed predicate that represents the short-circuiting logical AND of this predicate and the other predicate

Throws
NullPointerException if other is null

isEqual

Added in API level 24
public static Predicate<T> isEqual (Object targetRef)

Returns a predicate that tests if two arguments are equal according to Objects#equals(Object, Object).

Parameters
targetRef Object: the object reference with which to compare for equality, which may be null

Returns
Predicate<T> a predicate that tests if two arguments are equal according to Objects#equals(Object, Object)

negate

Added in API level 24
public Predicate<T> negate ()

Returns a predicate that represents the logical negation of this predicate.

Returns
Predicate<T> a predicate that represents the logical negation of this predicate

not

Added in API level 33
public static Predicate<T> not (Predicate<? super T> target)

Returns a predicate that is the negation of the supplied predicate. This is accomplished by returning result of the calling target.negate().

Parameters
target Predicate: predicate to negate

Returns
Predicate<T> a predicate that negates the results of the supplied predicate

Throws
NullPointerException if target is null

or

Added in API level 24
public Predicate<T> or (Predicate<? super T> other)

Returns a composed predicate that represents a short-circuiting logical OR of this predicate and another. When evaluating the composed predicate, if this predicate is true, then the other 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 Predicate: a predicate that will be logically-ORed with this predicate

Returns
Predicate<T> a composed predicate that represents the short-circuiting logical OR of this predicate and the other predicate

Throws
NullPointerException if other is null

test

Added in API level 24
public abstract boolean test (T t)

Evaluates this predicate on the given argument.

Parameters
t T: the input argument

Returns
boolean true if the input argument matches the predicate, otherwise false