Interface Predicate<T>
-
- All Superinterfaces:
Predicate<T>
- All Known Implementing Classes:
BloomFilter
,CharMatcher
,Range
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
@FunctionalInterface @GwtCompatible public interface Predicate<T> extends Predicate<T>
Legacy version ofjava.util.function.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 aPredicate
directly. To use ajava.util.function.Predicate
where acom.google.common.base.Predicate
is expected, use the method referencepredicate::test
.This interface is now a legacy type. Use
java.util.function.Predicate
(or the appropriate primitive specialization such asIntPredicate
) 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
.- Since:
- 2.0
- Author:
- Kevin Bourrillion
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description boolean
apply(@Nullable T input)
Returns the result of applying this predicate toinput
(Java 8 users, see notes in the class documentation above).boolean
equals(@Nullable Object object)
Indicates whether another object is equal to this predicate.default boolean
test(@Nullable T input)
Evaluates this predicate on the given argument.
-
-
-
Method Detail
-
apply
@CanIgnoreReturnValue boolean apply(@Nullable T input)
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
boolean equals(@Nullable Object object)
Indicates whether another object is equal to this predicate.Most implementations will have no reason to override the behavior of
Object.equals(java.lang.Object)
. However, an implementation may also choose to returntrue
wheneverobject
is aPredicate
that it considers interchangeable with this one. "Interchangeable" typically means thatthis.apply(t) == that.apply(t)
for allt
of typeT
). Note that afalse
result from this method does not imply that the predicates are known not to be interchangeable.- Overrides:
equals
in classObject
- Parameters:
object
- the reference object with which to compare.- Returns:
true
if this object is the same as the obj argument;false
otherwise.- See Also:
Object.hashCode()
,HashMap
-
test
default boolean test(@Nullable T input)
Description copied from interface:java.util.function.Predicate
Evaluates this predicate on the given argument.
-
-