接口介绍

Predicate 是个断言式接口,也就是给一个参数 T,返回 Boolean 类型的结果。

使用示例

public class Test {
    public static void main(String args[]) {
        Predicate<String > p = (str)->{return Objects.equals("费哥哥", str);};
        System.out.println(p.test("费哥哥")); 
    }
}

结果:
true

predicate 源码

package java.util.function;
import java.util.Objects;

@FunctionalInterface
public interface Predicate<T> {
    boolean test(T t);

    default Predicate<T> and(Predicate<? super T> other) {
        Objects.requireNonNull(other);
        return (t) -> test(t) && other.test(t);
    }

    default Predicate<T> negate() {
        return (t) -> !test(t);
    }

    default Predicate<T> or(Predicate<? super T> other) {
        Objects.requireNonNull(other);
        return (t) -> test(t) || other.test(t);
    }

    static <T> Predicate<T> isEqual(Object targetRef) {
        return (null == targetRef)
                ? Objects::isNull
                : object -> targetRef.equals(object);
    }
}

相关文章: