- All Known Implementing Classes:
BloomFilter
,CharMatcher
,Range
java.util.function.Predicate
.
The Predicates
class provides common predicates and related utilities.
See the Guava User Guide article on the use of Predicate
.
For Java 8+ users
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.
- Since:
- 2.0
- Author:
- Kevin Bourrillion
-
Method Summary
-
Method Details
-
apply
Returns the result of applying this predicate toinput
(Java 8+ users, see notes in the class documentation above). This method is generally expected, but not absolutely required, to have the following properties:- Its execution does not cause any observable side effects.
- The computation is consistent with equals; that is,
Objects.equal
(a, b)
implies thatpredicate.apply(a) == predicate.apply(b))
.
- Throws:
NullPointerException
- ifinput
is null and this predicate does not accept null arguments
-
equals
Indicates whether another object is equal to this predicate.Warning: do not depend on the behavior of this method.
Historically,
Predicate
instances in this library have implemented this method to recognize certain cases where distinctPredicate
instances would in fact behave identically. However, as code migrates tojava.util.function
, that behavior will disappear. It is best not to depend on it.
-