gpt4 book ai didi

java - lambda 实际上是一个匿名类吗?

转载 作者:塔克拉玛干 更新时间:2023-11-02 07:59:54 25 4
gpt4 key购买 nike

我正在阅读 Effective Java 并想知道 lambda 之间的区别和 anonymous class .我知道 lambda 只能与具有单一方法的接口(interface)一起使用,即功能接口(interface),在 lambda 中你无法获得对自身的引用,所以关键字 this涉及在匿名类关键字中指定 lambda 的类 this涉及匿名类的主体。但我不知道 lambda 到底是什么。我想这只是一个创建匿名类实例的表达式,它实现了函数接口(interface),所以这只是语法糖,与普通匿名类相比有一些限制,但多亏了它,我们可以摆脱样板并使我们的代码更具可读性.另一方面here我们可以了解性能差异,这可能表明 lambda 实际上不是实现函数接口(interface)的匿名类的实例。

最佳答案

不,lambdas != 匿名内部类

Java 中的 Lambda 表达式取代了匿名内部类的许多常见用途。结果是更加紧凑、可读和明显的代码。

不,lambdas 的实现不是基于匿名内部类。

有关更多讨论,请参阅 this Question在 Stack Overflow 的兄弟网站上。

关于java - lambda 实际上是一个匿名类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57029375/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com