mik*_*mer 5 java lambda anonymous-class java-8 functional-interface
我正在阅读《Effective Java》,想知道lambda和之间的区别anonymous class。我知道 lambda 只能与具有单一方法的接口(即功能接口)一起使用,并且在 lambda 中您无法获取对其自身的引用,因此this当在匿名类关键字this与匿名类的主体相关时,关键字与指定 lambda 的类相关。但我不知道 lambda 到底是什么。我猜这只是一个创建实现函数式接口的匿名类实例的表达式,因此与普通匿名类相比,这只是带有一些限制的语法糖,但多亏了它,我们可以摆脱样板文件并使我们的代码更具可读性。另一方面,我们可以在这里阅读有关性能差异的信息,这表明 lambda 实际上不是实现函数接口的匿名类的实例。
Java 中的 Lambda 取代了匿名内部类的许多常见用途。结果是代码更加紧凑、可读且明显。
不,lambda 的实现不是基于匿名内部类。
有关更多讨论,请参阅Stack Overflow 兄弟站点上的 此问题。
| 归档时间: |
|
| 查看次数: |
1684 次 |
| 最近记录: |