@FunctionalInterface @GwtCompatible public interface Predicate<T> extends Predicate<T>
Predicate
. Determines a true or false value for a
given input.
As this interface extends java.util.function.Predicate
, an instance of this type may
be used as a Predicate
directly. To use a java.util.function.Predicate
where a
com.google.common.base.Predicate
is expected, use the method reference predicate::test
.
This interface is now a legacy type. Use java.util.function.Predicate
(or the
appropriate primitive specialization such as IntPredicate
) instead whenever possible.
Otherwise, at least reduce explicit dependencies on this type by using lambda expressions
or method references instead of classes, leaving your code easier to migrate in the future.
The Predicates
class provides common predicates and related utilities.
See the Guava User Guide article on
the use of Predicate
.
Modifier and Type | Method and Description |
---|---|
boolean |
apply(T input)
Returns the result of applying this predicate to
input (Java 8 users, see notes in the
class documentation above). |
boolean |
equals(Object object)
Indicates whether another object is equal to this predicate.
|
default boolean |
test(T input) |
boolean apply(@Nullable T input)
input
(Java 8 users, see notes in the
class documentation above). This method is generally expected, but not absolutely
required, to have the following properties:
Objects.equal
(a, b)
implies that predicate.apply(a) ==
predicate.apply(b))
.
NullPointerException
- if input
is null and this predicate does not accept null
argumentsboolean equals(@Nullable Object object)
Most implementations will have no reason to override the behavior of Object.equals(java.lang.Object)
.
However, an implementation may also choose to return true
whenever object
is a
Predicate
that it considers interchangeable with this one. "Interchangeable"
typically means that this.apply(t) == that.apply(t)
for all t
of type
T
). Note that a false
result from this method does not imply that the
predicates are known not to be interchangeable.
Copyright © 2010–2017. All rights reserved.