- java8的新特性,能使用到android中的Lambda表达式、方法引用;像获取反射参数名字、Optional、Clock等需要的android最低api都比较高,目前还无法使用。
- android中模块gradle中添加
android { ... compileOptions { targetCompatibility 1.8 sourceCompatibility 1.8 } }
- 使用lambda表达式
核心思想就是替代匿名类方法的实现,不过只能用于只有一个方法的接口,简化冗余代码,模式p -> c:- 如果没有参数,用()代替,()-> c;
- 一个参数,可以只写参数,有无括号都可以,param->c;
- 多个参数,用逗号隔开,写入括号内,(a,b,c)->c;
- c部分,如果只是一个表达式,有无大括号都可以,p->expression;
- c部分,如果是多条语句,写在大括号内,p->{a++; a--;}
- 接口的变化
java8增加了默认方法,非默认方法只有一个的话,也可以使用lambda表达式;
默认方法最大的好处:新增方法后不用修改之前的代码; - 方法的引用
不实用,忽略。
关于java8在android中使用
来源:华拓网