我是靠谱客的博主 殷勤舞蹈,这篇文章主要介绍java-匿名内部类、lambda表达式不能修改外面的局部变量,现在分享给大家,希望可以做个参考。

可以利用Atomic原子类解决,当然和线程安全没有关系,纯粹是利用了这样一个技巧:AtomicInteger可以当作int的容器。因为它是在堆上被分配的,我们完全没有改变这个局部变量的指向(effectively final成立),就达到了修改其中数据的目的。

复制代码
1
2
3
//在lambda中实现对外面变量i++的操作 AtomicInteger i = new AtomicInteger(); list.forEach(a -> i.getAndIncrement());

最后

以上就是殷勤舞蹈最近收集整理的关于java-匿名内部类、lambda表达式不能修改外面的局部变量的全部内容,更多相关java-匿名内部类、lambda表达式不能修改外面内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(68)

评论列表共有 0 条评论

立即
投稿
返回
顶部