日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

JDK8新特性-java.util.function-Predicate接口

發(fā)布時間:2023/11/29 编程问答 28 豆豆
生活随笔 收集整理的這篇文章主要介紹了 JDK8新特性-java.util.function-Predicate接口 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

上篇主要對Function函數(shù)進行了簡單了解,本篇則主要了解Predicate。該函數(shù)的主要作用其實就是判定輸入的對象是否否和某個條件,然后將其布爾值返回。
主要使用方法如下:

//唯一的抽象方法 boolean test(T t); //且操作,既滿足A也滿足B條件 default Predicate<T> and(Predicate<? super T> other) {Objects.requireNonNull(other);return (t) -> test(t) && other.test(t);} //取反操作 為true則返回falsedefault Predicate<T> negate() {return (t) -> !test(t);} //或操作,滿足A條件或者滿足B條件default Predicate<T> or(Predicate<? super T> other) {Objects.requireNonNull(other);return (t) -> test(t) || other.test(t);} //靜態(tài)方法,判定是否相等static <T> Predicate<T> isEqual(Object targetRef) {return (null == targetRef)? Objects::isNull: object -> targetRef.equals(object);}

除了test()抽象方法以及一個靜態(tài)方法以外,其他的都是默認方法,可以存在多個默認方法以及靜態(tài)方法。
實踐操作如下:

public static void main(String[] args) {Predicate<Integer> biggerThan6 = x -> x > 6;Predicate<Integer> lessThan3 = x -> x < 3;Predicate<Integer> lessThan9 = x -> x < 9;//76大為true,為falseSystem.out.println("negate value=" + biggerThan6.negate().test(7));//76大為trueSystem.out.println("test() value=" + biggerThan6.test(7));//86大且比9小System.out.println("and value=" + biggerThan6.and(lessThan9).test(8));//13小,滿足一種條件System.out.println("or value=" + biggerThan6.or(lessThan3).test(1));//靜態(tài)方法,判定是否相等System.out.println("isEqual false value=" + Predicate.isEqual("test").test("num"));System.out.println("isEqual true value=" + Predicate.isEqual("num").test("num"));}

返回值:

negate value=false test() value=true and value=true or value=true isEqual false value=false isEqual true value=true

大多數(shù)標準的函數(shù)式接口都擁有用來生成或組合函數(shù)的非抽象方法。例如Predicate.isEqual(“test”)同”test”.equals一樣(”test”位置的值不為null).
使用方式很簡單,下篇則介紹剩余的幾個常用函數(shù)式接口。

轉(zhuǎn)載于:https://www.cnblogs.com/huohuoL/p/10545436.html

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的JDK8新特性-java.util.function-Predicate接口的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。