@GwtCompatible public interface Predicate<T>
java.util.function.Predicate
.
The Predicates
class provides common predicates and related utilities.
See the Guava User Guide article on
the use of Predicate
.
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.
To use a reference of this type (say, named guavaPredicate
) in a context where java.util.function.Predicate
is expected, use the method reference guavaPredicate::apply
. For the other direction, use javaUtilPredicate::test
. A future
version of this interface will be made to extend java.util.function.Predicate
, so
that conversion will be necessary in only one direction. At that time, this interface will be
officially discouraged.
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.
|
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.