版权声明:本文为博主原创文章,未经博主允许不得转载: https://blog.csdn.net/sinat_33381791/article/details/82746816
简介
在Java8中引用了lambda表达式,语法简洁,非常适合开发,所以在这里也想将lambda表达式引用到Android开发来,这样将很大的减少代码量。首先Java jdk版本必须在8.0以后才能进行。
这里分两种情况
gradle 是3.0版本以前
接下来我们进行对lambda的接入:
1、在项目的根目录下的build.gradle的dependencies下添加
classpath ‘me.tatarka:gradle-retrolambda:3.6.1’
2、在项目的module:app下的build.gradle中添加
apply plugin: ‘me.tatarka.retrolambda’
3、在项目的module:app 下的build.gradle中添加支持Java8的compileOptions
compileOptions {
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())));
gradle 是3.0版本之后
在项目的module:app下的build.gradle中直接添加
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
这样我们可以进行lambda表达式编写代码咯。
总结
在开发中记录自己的一些常用时刻。和大家一起进步。
推荐
大家有空可以浏览我的博客http://eirunye.github.io