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

在app下的build.gradle添加下面的代码

注:Studio3.0以后不需要再添加jackOptions支持
说完了如何引入lambda表达式,接下说说如何在Android中使用lambda表达式
lambda表达式主要有两种符号,-> 和 ::
-> 传递值的时候使用
::输出的时候使用
::的用法 主要用于输出,用法如下:
System.out::println | System.out.print(s); |
Throwable::printStackTrace | throwable-> { throwable.printStackTrace()} |
System.out::println会根据上下文,打印出对应的值
Throwable::printStackTrace用于打印异常信息
->主要用来传递值,用法如下
使用 -> 打印异常信息
Flowable.timer(600, TimeUnit.MILLISECONDS).subscribe(aLong -> progressDialog.cancel(),
Throwable::printStackTrace);
使用::打印异常信息
Flowable.timer(600, TimeUnit.MILLISECONDS).subscribe(aLong -> progressDialog.cancel(),
throwable -> throwable.printStackTrace());