Android引用lambda表达式

版权声明:本文为博主原创文章,未经博主允许不得转载: 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’

1.png

2、在项目的module:app下的build.gradle中添加

apply plugin: ‘me.tatarka.retrolambda’

2.png
3、在项目的module:app 下的build.gradle中添加支持Java8的compileOptions

compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}

3.png

举例

    /**
     *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 
}

3.png

这样我们可以进行lambda表达式编写代码咯。

总结

在开发中记录自己的一些常用时刻。和大家一起进步。

推荐

大家有空可以浏览我的博客http://eirunye.github.io

猜你喜欢

转载自blog.csdn.net/sinat_33381791/article/details/82746816