Lambda表达式 我相信网上的文章已经一大堆了,自从Java8面世后,也就慢慢添加了一些的新的表达的方式 Lambad就是其中的佼佼者,它以
简化匿名类的写法,并且在RxJava RxAndroid 中的表现 一下子让代码看起来更加简洁,更加让代码可读性增加(哈哈 这个是因人而异,如果一直你排斥它,你就会觉的它可读性不好,并且看起来让人不那么理解)
今天就让我们来认识一个这个LamBda 这个到底是什么鬼
我百度了 一下 这个LamBda 发现居然是这样的 n.希腊字母的第 11个字; Shit 这个可不是我要的答案 .
然后去知乎搜索了一下 果然是专业平台 一下子就让我理解这个单词的意思
“Lambda 表达式”是一个匿名函数,它可以包含表达式和语句,并且可用于创建委托或表达式树类型。
所有 Lambda 表达式都使用 Lambda 运算符 =>,该运算符读为“goes to”。 该 Lambda 运算符的左边是输入参数(如果有),右边包含表达式或语句块。 Lambda 表达式 x => x * x 读作“x goes to x times x”。可以将此表达式分配给委托类型
所以 我们可以简单的把它称为就是一个匿名函数的简化写法。哈哈 原谅我就是这么耿直
好了 既然已经明白了这个单词的意思 那肯定是我们要去学习一下怎么使用。
嘿嘿 我这里主要使用的是android的一些写法 但是在java中也是一样的
主要工具:AS(android studio) JDK:java8
然后 怎么配置:首先是在project项目的build文件中 添加 如图:
第一步:
classpath'me.tatarka:gradle-retrolambda:3.2.5'// lambda表达式 简单的理解就是简化匿名函数
第二步:如图所示
applyplugin:'me.tatarka.retrolambda'//加上这句加,入plugin声明
compileOptions {
sourceCompatibilityJavaVersion.VERSION_1_8
targetCompatibilityJavaVersion.VERSION_1_8
}
然后更新一下 就可以使用了 然后怎么使用:
平常我们的写法btton的点击事情 你会发现使用了Lambda表达式之后 这个匿名类变成了灰色了的
然后你会发现你把鼠标点击上去的时候 在按快捷键会弹出如图所示的提示字:
是不是很明显了 意思就是提示你这个匿名类可以用Lambda表达式代替 so 然后你点击了就变成了下图
是不是很简单了呢 其实吧 AS这个工具会智能提醒你有哪些匿名类可以换成Lambda表达式 所以尽快的学习使用吧