Java中Lambda表达式与方法引用和构造器引用
版權(quán)聲明:本文為博主原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接和本聲明。
本文鏈接:https://blog.csdn.net/cjhc666/article/details/54948909
方法引用:
首先看 Timer t = new Timer(1000, System.out::println);
表達(dá)式?System.out::println 就是一個方法引用,等價于Lambda表達(dá)式 x -> System.out.println(x);
方法引用的三種情況:
(一)、object::instanceMethod
(二)、Class::staticMethod
這兩種情況等價于提供方法參數(shù)的Lambda表達(dá)式,如上述
System.out::println 等價于?x -> System.out.println(x)
(三)、Class::instanceMethod
這種情況,第一個參數(shù)會成為方法的目標(biāo)
但是都可譯為 調(diào)用某類的某方法。
當(dāng)然,this和super也可以使用方法引用。
this::equels 等價于 x -> this.equels(x)
構(gòu)造器引用:
構(gòu)造器引用與方法引用很類似,只不過方法名是new,例如:Person::new 是構(gòu)造器引用。
可以用數(shù)組類型建立構(gòu)造器引用,例如:int[]::new, 它有一個參數(shù):數(shù)組長度。等價于 x -> new int[x]
————————————————
版權(quán)聲明:本文為CSDN博主「mz314」的原創(chuàng)文章,遵循 CC 4.0 BY-SA 版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/cjhc666/article/details/54948909
總結(jié)
以上是生活随笔為你收集整理的Java中Lambda表达式与方法引用和构造器引用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中信途牛visa可以在国内刷吗
- 下一篇: 有房贷的注意了!贷款利率转LPR仅剩一个