能够在Java 8 lambda表达式中有效使用最终变量的好处是什么

能够在Java 8 lambda表达式中有效使用最终变量的好处是什么,第1张

能够在Java 8 lambda表达式中有效使用最终变量的好处是什么

简单的答案是,由于

final
变量和“有效最终”变量之间没有区别,除了
final
声明中的关键字外,唯一的目的是允许省略
final
关键字。

但这可能会产生比您所意识到的更大的影响。

对于lambda表达式,可以像中那样简化参数的整个声明

x -> x+1
。现在考虑嵌套的lambda表达式,例如:
x -> y ->x+y
和如果我们在此处强制向参数添加
final
声明将创建的视觉混乱
x

由于没有Java语法将变量声明为

final
未指定其类型,因此它要么要求规范向语言添加甚至更复杂的结构,要么强制我们添加
final
参数,并向将简单表达式
x-> y -> x+y
转换为的参数添加类型声明
(final double x) -> y -> x+y

主要目标是 简化
Java程序员(在添加新的编程语言功能时,尽可能做到这一点)。当然,它没有为语言提供任何功能来解决以前没有它无法解决的问题(这对整个lambda功能都适用),但是在表达能力上有显着的收获,不仅因为您可以省略

final
修饰符,而且可以省略修饰符帮助。它的工作原理
一起 使用改进的类型推断,新的编程API,当然,lambda表达式和方法的引用。



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

原文地址: http://outofmemory.cn/zaji/5565824.html

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

发表评论

登录后才能评论

评论列表(0条)

保存