Interface Predicate<T extends @Nullable java.lang.Object>

  • All Known Implementing Classes:
    BloomFilter, CharMatcher, Range

    @GwtCompatible
    public interface Predicate<T extends @Nullable java.lang.Object>
    Determines a true or false value for a given input; a pre-Java-8 version of 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

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method 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​(java.lang.Object object)
      Indicates whether another object is equal to this predicate.
    • Method Detail

      • apply

        boolean apply​(T input)
        Returns the result of applying this predicate to 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:
        • Its execution does not cause any observable side effects.
        • The computation is consistent with equals; that is, Objects.equal(a, b) implies that predicate.apply(a) == predicate.apply(b)).
        Throws:
        java.lang.NullPointerException - if input is null and this predicate does not accept null arguments
      • equals

        boolean equals​(@CheckForNull
                       java.lang.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 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.

        Overrides:
        equals in class java.lang.Object