Lambda优雅开发android

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)));

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容