最近一直没有写文章,断更了好久,没有养成写博客的习惯.虽然会写一些东西,但是定下的一个月一篇的文章都没有保证,自己的错,应该反思。最近把文章补上来。
一、问题提出
有些同学在使用AndroidStudio
开发的过程中可能会遇到不能使用Java 8
中Lambda表达式
的情况,具体如下
[图片上传失败...(image-16b34a-1510989909212)]
OK,接下来我将为大家讲解为什么会出现这种情况以及如何处理
二、出现问题的原因
在了解问题出现的原因之前我们需要了解一下什么是Lambda表达式
:
Lambda表达式是Java 8语言的一个新特性,可以简化匿名内部类的非关键代码,从而突出功能代码
talk is cheap,show me the code
使用
Lambda表达式
后以上只是Lambda表达式
的一个简单的使用,深入学习大家可以参考一下文章:
OK ,既然了解了什么是 Lambda表达式
,那么解决问题就容易了。出现不能使用有一下情况:
-
AndroidStudio
相关配置没有配好,因此不能支持Lambda表达式(Android7.0(API24)
以后才开始支持Java 8) - 电脑Java version没有达到1.8
三、问题解决
3.1 AndroidStudio
相关配置没有配好
此处假设你的AndroidStudio
在API24
以上
你需要在你的app
的build.gradle
配置红色区域内容,再Sync project
即可:
[图片上传失败...(image-85ea15-1510989909213)]
//开启Jack编译器
jackOptions {
enabled true
}
//将Java的版本改成1.8
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
参考文章:Error:Jack is required to support java 8 language features. 及Jack的介绍
3.2 java version没有1.8
使用cmd命令
查看Java version
,
如果你的java版本确实没有1.8,在oracle官网下载,然后配置Java环境即可
PS:我在修改java 版本,即想把自己java 1.7
改成1.8
或者1.8
改成1.7
的时候,碰到了即使成功地修改了路径但是版本并没有修改的坑,后来查阅资料了解到,Java
查询版本的时候并不是直接从路径里查的,而是有有一个快捷方式,记录上次查的Java版本是多少。此时我们除了需要修改path,还需要把path往上移让它生效,大概就是这样:
OK,文章基本到此为止了,希望自己的文章能给大家带来一些帮助,让大家少踩点坑~