什么是Lambda?
关于这个问题的答案具体请百度“函数式编程”,函数式编程的基础是λ演算,λ的读音就是“Lambda”,所以基于函数式编程的表达式称为Lambda表达式。除了C#,.NET,Python等语言之外,JAVA终于在1.8中增加了Lambda表达式,可能大家最关心的是这个东西能做什么?
让我们看下这张图
没错,使用Lambda的目的是让代码变得更加简洁
那么问题来了?怎么在项目中配置Lambda并使用呢?
1 确保你的JDK版本不低于1.8(1.8才开始支持)
2 在你Project的build.gradle中增加这些语句
classpath 'me.tatarka:gradle-retrolambda:3.6.1'
apply plugin: 'me.tatarka.retrolambda'
3 在你Module的build.gradle中增加这些语句
jackOptions {
// 打开jack编译器
enabled true
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
经过这三步就可以成功配置Lambda了,Build一下整个项目如果没有问题就可以正式开始使用Lambda了~
button.setOnClickListener((View view)->{Log.i("TAG", "onCreate: lambda!");});
如果你仔细看代码左边,你会发现这个
代码左边是有λ标志的,如果我们对Lambda表达式运用的更加熟练,代码可以简化为:
button.setOnClickListener(v->Log.i("TAG", "onCreate: lambda!"));
简单入门就从这里开始了,Android工程师,祝你在Lambda之地,好运连连!