Java Lambda的使用范围是什么
作者:RainLight
时间:2023-04-25
浏览:3
1、访问局部变量可以访问lambda表达式外部的final局部变量:finalintnum=1;ConverterstringConverter=(from)->String.valueOf(from+num);stringConverter.convert(2);//3但是与匿名对象不同的是,变量num并不需要一定是final。在lambda表达式内部企图改变num的值也是不允许的。2、访问成员变量和静态变量与局部变量不同,我们在lambda表达式的内部能获取到对成员变量或静态变量的读写权。这种访问行为
本文目录
1、访问局部变量
可以访问lambda表达式外部的final局部变量:
final int num = 1; ConverterstringConverter = (from) -> String.valueOf(from + num); stringConverter.convert(2); // 3
但是与匿名对象不同的是,变量num并不需要一定是final。在lambda表达式内部企图改变num的值也是不允许的。
2、访问成员变量和静态变量
与局部变量不同,我们在lambda表达式的内部能获取到对成员变量或静态变量的读写权。这种访问行为在匿名对象里是非常典型的。
class Lambda4 {
static int outerStaticNum;
int outerNum;
void testScopes() {
Converter stringConverter1 = (from) -> {
outerNum = 23;
return String.valueOf(from);
};
Converter stringConverter2 = (from) -> {
outerStaticNum = 72;
return String.valueOf(from);
};
}
}
作者最新文章
安装完wps后office不好用了
2026-11-02 09:50
notebooklm网页版登录入口及电脑端打开方法
2026-10-31 18:42
BoBo浏览器极速版安装与横屏锁定设置教程
2026-10-30 10:24
3dmax玻璃材质贴图怎么操作
2026-10-29 12:35
PDF转图片免费版哪款好用?怎么在线把PDF转换成图片?
2026-10-27 11:50
上一篇:
MySQL中如何对日期进行格式化?
下一篇:
java虚拟扩展方法怎么实现
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多

































