Android中Lambda表达式的引入和使用

在Studio3.0以后,lambda的引用发生了很大的改变,studio3.0以后,不再支持apt,导致不能使用retrolambda。这里只讲述3.0以后lambda的引用

首先确保gradle plugin为3.0以上
Android中Lambda表达式的引入和使用_第1张图片
在app下的build.gradle添加下面的代码

注:Studio3.0以后不需要再添加jackOptions支持
    jackOptions {
        enabled true
    }



说完了如何引入lambda表达式,接下说说如何在Android中使用lambda表达式

lambda表达式主要有两种符号,-> 和 ::

-> 传递值的时候使用
::输出的时候使用



::的用法  主要用于输出,用法如下:
System.out::println System.out.print(s);
Throwable::printStackTrace throwable-> { throwable.printStackTrace()}

System.out::println会根据上下文,打印出对应的值
Throwable::printStackTrace用于打印异常信息



->主要用来传递值,用法如下

使用 -> 打印异常信息
Flowable.timer(600TimeUnit.MILLISECONDS).subscribe(aLong -> progressDialog.cancel(),
        Throwable::printStackTrace);


使用::打印异常信息
Flowable.timer(600TimeUnit.MILLISECONDS).subscribe(aLong -> progressDialog.cancel(),
        throwable -> throwable.printStackTrace());






你可能感兴趣的:(Android)