Lambda优雅开发android

作者: shone | 来源:发表于2016-08-18 16:40 被阅读389次

    Lambda表达式的语法
    基本语法:
    (parameters) -> expression

    (parameters) ->{ statements; }

    Lambda表达式是在JDK 8中开始支持的一种函数式推导语言,能够大量减少匿名内部类那种冗余的代码。在Android中,可以大量使用在设置监听,设置异步回调等场景。

    平时用androidstudio开发android,确实写回调的时候,匿名的内部类写的代码读起来不直观!
    retrolambda插件解决了这个问题

    1.Project 的顶层 gradle文件配置classpath

    buildscript {
        ...
        dependencies {
            ...
            classpath 'me.tatarka:gradle-retrolambda:3.1.0'
        }
    }
    

    2.Module的gradle文件配置

    加入声明

    apply plugin: 'me.tatarka.retrolambda'
    
    

    在android{ ... }里加入

        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_8
            targetCompatibility JavaVersion.VERSION_1_8
        }
    

    看看写匿名类的时候

    看到那波浪线的提示没有,匿名程式new Func1 ()能够用lambda代替,不会也没关系Alt+Enter


    然后简化之后的

    简化前5行,简化后一行,对比就出来了!

    一个参数 ,一个表达式,很爽!
    再看看

    启动一个线程:
    new Thread(() -> System.out.println("Hello RxJava !")).start();
    
    排序:
    String[] expression = {"abc", "bcd", "dbe"};
    Arrays.sort(expression, (String s1, String s2) -> (s1.compareTo(s2)));
    
    

    相关文章

      网友评论

        本文标题:Lambda优雅开发android

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