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

更多相关文章

  1. Python技巧匿名函数、回调函数和高阶函数
  2. 避免内存泄露
  3. Android(安卓)studio的常见布局
  4. android Handler and progress
  5. 《Android(安卓)计算器》
  6. android之sax解析xml文件 .
  7. Android(安卓)基于GeolocationAPI的基站定位
  8. 从AsyTask函数式封装到lambda表达式
  9. ViewCompat:android官方实现兼容的一个帮助类

随机推荐

  1. Android(安卓)OpenGLES2.0(八)——纹理贴图
  2. 总结与反思
  3. Android(安卓)中的 Service 全面总结详解
  4. 深入浅出 Android(安卓)Service (5)
  5. 14—深入Animation,在SurfaceView中照样
  6. Android火焰效果程序
  7. Android(安卓)Log史上最强大的.最易用的
  8. Android(安卓)application 中使用 provid
  9. Android(安卓)手撸一个简易路由Router
  10. Android墨迹3.0特性介绍效果实现——做一