概述
可以利用Atomic原子类解决,当然和线程安全没有关系,纯粹是利用了这样一个技巧:AtomicInteger可以当作int的容器。因为它是在堆上被分配的,我们完全没有改变这个局部变量的指向(effectively final成立),就达到了修改其中数据的目的。
//在lambda中实现对外面变量i++的操作
AtomicInteger i = new AtomicInteger();
list.forEach(a -> i.getAndIncrement());
最后
以上就是殷勤舞蹈为你收集整理的java-匿名内部类、lambda表达式不能修改外面的局部变量的全部内容,希望文章能够帮你解决java-匿名内部类、lambda表达式不能修改外面的局部变量所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复