在Studio3.0以后,lambda的引用发生了很大的改变,studio3.0以后,不再支持apt,导致不能使用retrolambda。这里只讲述3.0以后lambda的引用
首先确保gradle plugin为3.0以上
在app下的build.gradle添加下面的代码
注:Studio3.0以后不需要再添加jackOptions支持
jackOptions {
enabled true
}
说完了如何引入lambda表达式,接下说说如何在Android中使用lambda表达式
lambda表达式主要有两种符号,-> 和 ::
-> 传递值的时候使用
::输出的时候使用
::的用法 主要用于输出,用法如下:
System.out::printlnSystem.out.print(s);Throwable::printStackTracethrowable-> { 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());
转载请注明原文地址: https://www.6miu.com/read-2626035.html