您的当前位置:首页正文

关于java8在android中使用

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