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