回答
你在問Java 8中的lambdas嗎?
Java 8 lambda是對匿名類的子集的簡化 - 即擴展了「功能接口」的匿名類,並且只有一個方法,不使用this
,不使用初始化塊,並且具有沒有領域。 (但是,這是匿名類的一個非常常見的用例。)
換句話說,任何lambda表達式都可以重寫成一個等效的匿名類創建表達式。但是隻有一些(不是全部)匿名類創建表達式可以重寫爲lambda表達式。
'this'引用仍然可以在lambda中使用,但是它引用類lambda表達式駐留的實例。與匿名類不同,沒有新的對象被創建(不是語義上的),其中'this'指的是新對象,所以'this'指向lambda之外的this。這意味着你不能在靜態函數中創建的lambda中使用'this',因爲沒有'this'來引用。 –
準確地說,「確切地說一種方法」並不準確 - 「確切地說,一種抽象方法」會更精確,但最準確的將是「確切地說,一種未在對象中聲明的抽象方法」是最準確的。 –
- 1. 匿名類型與Lambda表達式
- 2. 基於lambda表達式創建匿名類型
- 3. 匿名方法與lambda表達式
- 4. 匿名類與lambda表達式中「this」的值
- 5. lambda表達式,本地類型和全局命名空間
- 6. 這是lambda表達式嗎?
- 7. 匿名類型的order by lambda表達式
- 8. 將java lambda表達式轉換爲1.6版本
- 9. javafx:setRowFactory中的多個事件並組合匿名內部類和lambda表達式
- 10. lambda表達式,C中的匿名函數代表#
- 11. 如何用lambda表達式替換匿名類android
- 12. Java中的Lambda表達式?
- 13. Lambda表達式,共享指針和本
- 14. Python版本的Java正則表達式?
- 15. Java正則表達式基本公式
- 16. Kotlin中的異步匿名函數? (lambda表達式)
- 17. Java Lambda表達式
- 18. Lambda表達與匿名方法
- 19. 這是Java 8中lambda表達式的正確用法嗎?
- 20. Java正則表達式提取版本
- 21. Java是「緩存」匿名類嗎?
- 22. 修改視覺基本正則表達式在java中工作
- 23. 的Java 8 --- Lambda表達式
- 24. 的Java 8流和lambda表達式
- 25. 編寫一個lambda表達式的「curried版本」
- 26. 將VB.net lambda表達式匿名類型結果轉換爲已知類型
- 27. ReSharper在lambda表達式中使用匿名類型自動完成行爲
- 28. 如何合併返回匿名類型的lambda表達式的LINQ查詢?
- 29. lambda表達式的類型
- 30. JavaScript的正則表達式驗證名稱和版本
是的,Java中的lambda與SMC或「Single Method Class」相同。 –
它們之間的區別:http://mail.openjdk.java.net/pipermail/jdk8-dev/2014-March/004050.html – Anderson