美文网首页
java.util.function.Predicate的用法

java.util.function.Predicate的用法

作者: 传说中的大哥 | 来源:发表于2018-06-19 14:59 被阅读0次

    Predicate类包含5个方法,最重要的是test方法,这是一个抽象方法,需要编程者自己去Override,其他的三个default方法里都使用到了这个方法,这三个方法分别是and方法,negate方法和or方法,其中and和or方法与前面两个类的andThen方法类似,这两个方法都接受另一个Predicate对象作为参数,and方法返回这两个对象分别调用test方法之后得到的布尔值的并,相当于predicate1.test() && predicate2.test(),or方法返回这两个对象分别调用test方法之后得到的布尔值的或,相当于predicate1.test() || predicate2.test()。negate方法是取反predicate1.negate()。

    test例:

    public static void main(String[] args) {
        Predicate<Integer> predicate = s->s==1;
        System.err.println(predicate.test(1));
    }
    

    执行结果:

    true
    

    and例:

    //判断一个整数大于5并且是偶数(两个条件同时满足)
    public static void main(String[] args) {
        Predicate<Integer> predicate = s-> s>=5;
        Predicate<Integer> predicate1 = s -> s%2==0;
        System.out.println(predicate1.and(predicate).test(7));
        System.out.println(predicate.and(predicate1).test(8));
    }
    

    执行结果:

    false
    true
    

    or例:

    //判断一个整数大于等于5或是偶数(满足一个条件即可)
    public static void main(String[] args) {
        Predicate<Integer> predicate = s->s>=5;
        Predicate<Integer> predicate1 = s -> s%2==0;
        System.out.println(predicate1.or(predicate).test(4));
        System.out.println(predicate.and(predicate1).test(8));
    }
    

    执行结果:

    true
    true
    

    negate例:

    //判断一个整数是否大于等于5(取反)
    public static void main(String[] args) {
        Predicate<Integer> predicate = s->s>=5;
        System.out.println(predicate.negate().test(6));
    }
    

    执行结果:

    false
    

    相关文章

      网友评论

          本文标题:java.util.function.Predicate的用法

          本文链接:https://www.haomeiwen.com/subject/krmaeftx.html