Copy ‘XXXX‘ to effectively final temp variable
今天,在项目中使用lambda表达式遇到了一个问题:
Copy 'standDatasMap' to effectively final temp variable
翻译过来就是:xxxx使用有效的最终变量。
那什么意思呢?
大家先看一下,lambda表达式的规则:
- 只能引用标记了 final 的外层局部变量,这就是说不能在 lambda 内部修改定义在域外的局部变量,否则会编译错误。
- 局部变量可以不用声明为 final,但是必须不可被后面的代码修改(即隐性的具有 final 的语义)
- 不允许声明一个与局部变量同名的参数或者局部变量。
给大家写个例子,简单情景再现下:
原因:
这是因为lambda表达式不接受动态传参。
修改如下:
我们可以加一个map,用来接收动态参数,即可解决此问题。
Copy ‘XXXX‘ to effectively final temp variable相关推荐
- java增加final,Java8增加功能--Effectively final 功能
java8新增了很多功能,可以大大简化代码,这个系列将会一一辅助代码加以介绍. 局部内部类和匿名内部类访问的局部变量必须由final修饰,java8开始,可以不加final修饰符,由系统默认添加.ja ...
- java中的final关键字和effectively final
我们在给lamda传参数时,可能会出现如下情况: Variable used in lambda expression should be final or effectively final 一般情 ...
- 1.20 Java8新特性:Effectively final
Java 中局部内部类和匿名内部类访问的局部变量必须由 final 修饰,以保证内部类和外部类的数据一致性.但从 Java 8 开始,我们可以不加 final 修饰符,由系统默认添加,当然这在 Jav ...
- Java8新特性:等同 final 效果(Effectively Final)
闭包 Effectively Final 示例 闭包 闭包就是能够读取函数作用域之外的变量的函数. 考虑一个返回复杂的 lambda 的高阶函数,使用了函数作用域之外的变量,返回该函数会发生什么? j ...
- java 8新特性之effectively final
我们平时使用内部类时,如果需要使用外部的变量,只能通过final关键字来修饰该变量,在java8中,有了新的处理方式,如下: 针对于jdk1.8,对于一个变量,如果没有给它加final修饰,而且没有对 ...
- The final local variable xxx cannot be assigned, since it is defined in an enclo
本文就自己编程时候遇到的一个问题,简要描述一下,并提出解决的方法: 出错信息:The final local variable xxx cannot be assigned, since it is ...
- 深入浅出理解 Variable used in lambda expression should be final or effectively final
翻译:lambda 表达式中使用的变量应该是 final 或者有效的 final 原因解析:lambda表达式(多用在线程领域),是由匿名内部类演变来的. 匿名内部类产生的对象一般存放在JVM的堆区域 ...
- foreach无法给外部变量赋值(Local variable decimal defined in an enclosing scope must be final or effectively )
报错信息如下: Local variable decimal defined in an enclosing scope must be final or effectively final 原因:在 ...
- 终于明白 Java 为什么要加 final 关键字了!
点击上方"方志朋",选择"设为星标" 回复"666"获取新整理的面试资料 来源:http://rrd.me/epfKR 现象描述 原因分析 ...
- 什么场景要用@bean_终于明白为什么要加 final 关键字了!
作者:guanpjhttp://www.jianshu.com/p/acc8d9a67d0c 在开发过程中,由于习惯的原因,我们可能对某种编程语言的一些特性习以为常,特别是只用一种语言作为日常开发的情 ...
最新文章
- lab2_selenium测试
- APM - 零侵入监控JDBC服务
- ECMAScript数据属性和访问器属性
- Scala语言编译之后生成的Java代码解读
- java 4位数,java 找出4位数的所有吸血鬼数字
- 大一的一些心得与近况
- Silverlight/WPF/WP7一周学习导读(12月6-12月12)
- 计算机辅助几何设计等值曲线,中国科学技术大学硕士专业:计算机辅助几何设计...
- 研磨设计模式读书笔记
- ncm转MP3的工具
- 用Python绘制一个简单的奥运五环
- pow是什么意思python,python中pow什么意思
- 携程Java后台开发面经
- PT 系列 00·小谈 pt-kill
- 文本分割之垂直投影法基于OpenCV(python)的实现
- 互联网晚报 | 07月02日 星期六 | ​​​北京健康宝核酸检测天数计算规则调整;​上海鼓励用人单位吸纳失业3个月及以上人员...
- 汉语言文学专业c学校,理科生能报汉语言文学专业吗?哪些学校找理科生
- 政府补贴政策这么多,ITSS信息技术服务标准到底是什么?
- php怎么爬取亚马逊的数据,php 抓取亚马逊中国产品数据-标题,价格,首图片
- WordPress主题添加鼠标点击特效
热门文章
- 基于java的学生社团管理系统的研究设计计算机毕业设计源码+系统+lw文档+mysql数据库+调试部署
- Pollard-Rho Algorithm简述
- 人生如烟花,只要曾经绚烂过,便不枉此生
- android 视频通话框架,Android基于腾讯云实时音视频仿微信视频通话最小化悬浮
- win7html.exe,win7系统exe程序打开方式还原怎么弄 win7系统还原exe程序打开方式办法介绍...
- JDBC(Java数据库连接)
- IdentityServer4揭秘---Consent(同意页面)
- vscode如何打开html
- 保利威视 获取回放API接口
- vuex中subscribe的使用