什麼是Method Reference
Java的方法參考或稱方法引用(Method Reference)是Java 8中引入的一個新特性,它可以用來直接參考已存在的方法或建構子,通常用在lambda表達式中。方法參考通過使用::符號來表示,例如
System.out::println
直接參考了println
方法。方法參考通常在foreach表達式中使用,可以使程式碼更簡潔易讀。例如,
list.forEach(System.out::println);
可以用於列印列表中的每個元素。使用與未使用方法參考的比較
實例1
在Java中,我們通常會使用lambda表達式來操作集合。例如,如果我們想要列印出一個列表中的所有元素,我們可能會寫出以下的程式碼:
java
在這個例子中,
item -> System.out.println(item)
就是一個lambda表達式。然而,這個表達式可以進一步地被簡化,這就是方法參考的優點。使用方法參考,上述的程式碼可以被簡化為:
java
在這個例子中,
System.out::println
就是一個方法參考。兩者的效果是完全相同的,但是使用方法參考的程式碼更為簡潔,可讀性也更高。實例2
假設我們要對一個List中的每一個元素進行平方運算,我們可能會寫出以下的程式碼:
java
在這個例子中,
item -> item * item
就是一個lambda表達式。然而,如果我們有一個已經寫好的方法可以進行平方運算,例如Math::pow
,我們就可以利用方法參考來簡化程式碼。使用方法參考,上述的程式碼可以被簡化為:
java
在這個例子中,
Math::pow
就是一個方法參考。兩者的效果是完全相同的,但是使用方法參考的程式碼更為簡潔,可讀性也更高。Method Reference的四種類型
引用靜態方法
java
引用實例方法
java
引用特定對象的實例方法
java
引用建構方法
java
這些例子展示了如何使用method reference來替代 Lambda 表達式,使代碼更加簡潔和易讀。
參考
- 作者:JK Yang
- 链接:https://jk1124.netlify.app/article/9ac86857-a939-4dfb-a41f-b085ce51f534
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。