Lambda:局部变量需要最终变量,实例变量不需要

Lambda:局部变量需要最终变量,实例变量不需要,第1张

Lambda:局部变量需要最终变量,实例变量不需要

字段和局部变量之间的根本区别在于,当JVM创建lambda实例时,将复制局部变量。另一方面,字段可以自由更改,因为对它们的更改也将传播到外部类实例(它们的范围是整个外部类,如Boris所指出的)。

考虑到匿名类,闭包和Labmdas的最简单方法是从可变范围的角度来看。想象一个为传递给闭包的所有局部变量添加的副本构造函数。



欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/zaji/5508975.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-12-13
下一篇2022-12-13

发表评论

登录后才能评论

评论列表(0条)

    保存