Added in API level 24

Predicate

@FunctionalInterface interface Predicate<T : Any!>
java.util.function.Predicate

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
open Predicate<T>!
and(other: Predicate<in T>!)

Returns a composed predicate that represents a short-circuiting logical AND of this predicate and another.

open static Predicate<T>!
isEqual(targetRef: Any!)

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

open Predicate<T>!

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

open static Predicate<T>!
not(target: Predicate<in T>!)

Returns a predicate that is the negation of the supplied predicate.

open Predicate<T>!
or(other: Predicate<in T>!)

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
open fun and(other: Predicate<in T>!): Predicate<T>!

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<in T>!: a predicate that will be logically-ANDed with this predicate
Return
Predicate<T>! a composed predicate that represents the short-circuiting logical AND of this predicate and the other predicate
Exceptions
java.lang.NullPointerException if other is null

isEqual

Added in API level 24
open static fun <T : Any!> isEqual(targetRef: Any!): Predicate<T>!

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

Parameters
<T> the type of arguments to the predicate
targetRef Any!: the object reference with which to compare for equality, which may be null
Return
Predicate<T>! a predicate that tests if two arguments are equal according to Objects#equals(Object, Object)

negate

Added in API level 24
open fun negate(): Predicate<T>!

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

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

not

Added in API level 33
open static fun <T : Any!> not(target: Predicate<in T>!): Predicate<T>!

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

Parameters
<T> the type of arguments to the specified predicate
target Predicate<in T>!: predicate to negate
Return
Predicate<T>! a predicate that negates the results of the supplied predicate
Exceptions
java.lang.NullPointerException if target is null

or

Added in API level 24
open fun or(other: Predicate<in T>!): Predicate<T>!

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<in T>!: a predicate that will be logically-ORed with this predicate
Return
Predicate<T>! a composed predicate that represents the short-circuiting logical OR of this predicate and the other predicate
Exceptions
java.lang.NullPointerException if other is null

test

Added in API level 24
abstract fun test(t: T): Boolean

Evaluates this predicate on the given argument.

Parameters
t T: the input argument
Return
Boolean true if the input argument matches the predicate, otherwise false