您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

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

能够在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表达式和方法的引用。

java 2022/1/1 18:28:13 有412人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶