在AndroidStudio中设置某项目支持使用Java 8 新特性
( eg:Lambda 表达式)
(注:如果你是个心急的同学,那就直接看本文的第3点吧——“快捷设置项目支持使用java8的方式”。)
1.情景描述
在AndroidStudio中新建一个项目,以设置支持Lambda表达式为例,写一段Lambda表达式代码。如图:
(注:以下截图中的项目代码,并没有实际运行意义,只是为了说明如何设置、使用支持Java 8的Lambda表达式。)
创建项目:
附上一段可以变形为Lambda表达式的代码
如果直接写出Lambda表达式会提示错误,如图:
2.手动设置支持使用Java8新特性
设置支持使用java8新特性有一个大前提就是,计算机中已安装java8 JDK软件并配置好了相关的环境变量。
为了使AndroidStudio中的上述项目支持使用java8新特性:Lambda表达式等,设置步骤如图:
先找到设置入口,有三种途径:
1)File -----> Project Structrue……
2)选中项目,鼠标右键……
3)这是最快捷的设置入口。
下面正式开始设置步骤,如图:
(第四步是设置资源代码和目标兼容性所支持的java版本,选择下拉菜单中若没有java8版本,就暂时选择最高版本1.7,具体请看图)
(第七步是找到项目对应的build.gradle文件,在图中中间的红框位置,手动设置两项--资源代码和目标兼容性,所支持的java版本,更改为Java8版本,具体修改代码如下。最后再同步一下项目就ok了)
compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 }
位置如图:
到此时还没结束,同步代码后有可能出现bug:
需要在build.gradle文件中加如下代码,然后同步,ok。
defaultConfig { ... jackOptions { enabled true } }
(注:上面只是手动设置支持java8的方式,便于理解。若觉得麻烦,请别着急,继续往下看哦!)
3.快捷设置项目支持使用java8的方式:
前提:计算机中已安装java8 JDK软件并配置好了相关的环境变量。
在项目的build.gradle文件中加如下代码,并同步即可。(注:这里才是本文最核心的部分)
android { ... compileOptions { sourceCompatibility JavaVersion.VERSION_1_8 targetCompatibility JavaVersion.VERSION_1_8 } defaultConfig { ... jackOptions { enabled true } } ... }
4.如何在项目中使用Lambda表达式
先试试代码效果:
是将原有代码转换成lambda表达式形式
转换后:
4.快捷设置支持使用Lambda表达式
上面的方式比较繁琐,是为了让大家清楚如何设置支持使用java8 新特性。
如果只是为了设置支持使用Lambda表达式,那非常简单,如图:
首先先在项目中写一段Lambda表达式,肯定会报错,然后将鼠标放在报错的位置,按快捷键Alt+Enter,会出现提示,然后按图中的显示的位置点击对应操作就Ok了。
(注:再偷偷教你一招,如果在项目中有看不懂Lambda表达式的表现形式,可以将鼠标放在Lambda表达式位置,然后按快捷键Alt+Enter,会出现如上面图的提示,然后选择倒数第二个的那串英文,将Lambda表达式换回原来的匿名类形式。)