参考文章
1 为什么使用Lamdba表达式
https://dzone.com/articles/why-we-need-Lambda-expressions
2 什么是函数式编程
http://eloquentjavascript.net/1st_edition/chapter6.html
3 lambda文章
https://testerhome.com/topics/3567
自我感受Lamdba
虽然有的时候会使用Lamdba表达式,但有的时候只是简单使用,并没有做深入的了解,当然看到一些比较复杂的表达式,还是会上网查,琢磨好久,所以想着把Lamdba从根学好,顺便总结一下,输出分享~
传递的是行为,而不是值,这是让我最兴奋,最能提现他价值的地方,让我体会了抽象,哈哈哈,我比较菜~
lambda给我的感受就是好用,让我体会抽象,哈哈,通过参数传递行为,这种感觉超棒~一个函数式接口可以搞定很多事情,不用在方法体内写具体执行方法,对于Java本身而言好用很多。
这种图我感觉容纳了很多知识点,以后的分享从这里的点滴分享~
什么是Lamdba表达式
Lambda表达式是函数式接口,对于小白来说听到函数式接口的时候,其实内心应该想的是什么是函数式接口?简单点说:就没事没有方法名,修饰符,返回值。其实跟js大同小异。
Lambda的书写形式是: (argument) -> (body) 。 把这种格式记住,基本大同小异。有两部分组成,参数+函数体
Lamdba表达式列举格式
()->{
System.out.print("judy")}
(String judy)->{
System.out.print(judy)}
(int a1 , int a2)->{
System.out.print(a+b)}
从它的格式中我们可以看出可以接受参数,也可以午餐,花括号内使用的是具体的执行行为。
有的时候我们可以省略花括号,类似于你写if判断的时候只有一条语句的时候可以忽略花括号
Lamdba表达式的演进过程
1 jdk5
List<Integer> list = Arrays.asList(1, 2, 3, 4, 5, 6, 7, 8);
for (int i = 0; i <