public void test() {
Long id = getId();
if (id == null) {
id = 3L;
}
final Long finalId = id; //还要额外定义一个final变量呢
Arrays.asList(1L, 3L, 4L).stream().map(item -> {
item = finalId; ////为什么不能直接使用时item = id呢?
return item;
});
}
public Long getId() {
return 1L;
}

为什么局部引用外部中的局部变量必须是final属性的呢
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-