【Java】从内部类中访问变量,需要声明为final
16lz
2021-01-26
Cannot refer to a non-final variable ‘result’ inside an inner class defined in a different method
从内部类中访问变量’result’,需要声明为final
这个问题有两种解决方法:
1.添加final修饰符
2.为AS添加java1.8支持:
在Moudle: app的build.gradle中添加如下代码
android { compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }}
然后Gradle Sync即可。
java1.8中默认内部类中访问的局部变量是final,无需声明为final变量,但如果变量在内部类中修改,则依然会报错:
Local variable ‘result’ defined in an enclosing scope must be final or effectively final
变量’result’从内部类中访问,需要是final或有效的final
另:JDK8十大新特性
更多相关文章
- Android(安卓)Studio 3.0+添加ButterKnife依赖报错的解决办法
- android 关于使用retrofit2.0的一些问题
- Android(安卓)Studio配置AspectJ(使用jar包的方法)
- android studio 无线调试 及 adb环境变量配置
- GridView添加网格线
- android音乐播放器怎么搜索SD卡上的音乐文件
- Android上使用camera拍照,把获取的照片上传到远程服务器
- Android管理联系人(包含添加,查询,修改和删除;以及不同版本区别)
- 在NDK中使用STL