在Java8中引用了lambda表达式,语法简洁,非常适合开发,所以在这里也想将lambda表达式引用到Android开发来,这样将很大的减少代码量。首先Java jdk版本必须在8.0以后才能进行。
接下来我们进行对lambda的接入:
1、在项目的根目录下的build.gradle的dependencies下添加
1.pngclasspath 'me.tatarka:gradle-retrolambda:3.6.1'
2、在项目的module:app下的build.gradle中添加
2.pngapply plugin: 'me.tatarka.retrolambda'
3、在项目的module:app 下的build.gradle中添加支持Java8的compileOptions
3.pngcompileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
举例
/**
*1、 点击事件
*/
button.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
Log.d("TAG", "onClick: ");
}
});
button.setOnClickListener(v->{
Log.d("TAG", "onClick: ");
});
/**
* 2.排序对比
*/
//之前的表达式
Collections.sort(workerAlarmBeanList, new Comparator<AlarmBean>() {
@Override
public int compare(AlarmBean alarmBean, AlarmBean t1) {
return 0;
}
});
//lambda表达式
Collections.sort(workerAlarmBeanList, ((o1, o2) -> o1.getStutas().compareTo(o2.getStutas())));
网友评论