美文网首页
Android引用lambda表达式

Android引用lambda表达式

作者: eirunye | 来源:发表于2017-10-25 15:59 被阅读13次

    在Java8中引用了lambda表达式,语法简洁,非常适合开发,所以在这里也想将lambda表达式引用到Android开发来,这样将很大的减少代码量。首先Java jdk版本必须在8.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())));
    

    相关文章

      网友评论

          本文标题:Android引用lambda表达式

          本文链接:https://www.haomeiwen.com/subject/pblaqxtx.html