Lambda 表达式(使用前提、“类型推断”、作用、优缺点、Lambda还能省略的情况)
一乐乐 人气:0Lambda 表达式(使用前提、“类型推断”、作用、优缺点、Lambda还能省略的情况)
1.Lambda使用前提:
(1)使用Lambda必须有接口,且接口只有一个抽象方法(即函数式接口)。
(2)Lambda必须可以“上下文推断”(就是依据语境推断出参数类型,这也是Lambda的一个优点,使得参数类型得以省略,更加简洁)
2.Lambda中的“类型推断”—参数类型可以省略原因:
Lambda 表达式中无需指定类型,程序依然可以编译,Lambda 表达式的类型依赖于上下文环境,是由编译器推断出来的。这就是所谓的 “类型推断”。
3.Lambda 表达式作用:函数式编程、替换匿名内部类(利用lambda实现函数式中的函数)。
4.Lambda表达式优缺点
优点:简洁,易于计算,尤其适用于遍历结果,循环计算数值或者赋值时。
缺点:(1)不容易debug模式调试;
(2)在lambda语句中强制类型转换不方便;
(3)不能再foreach中修改forEach外面的值;
(4)如果不并行计算,很多时候计算速度不如传统for循环.
5.Lambda还可以省略,变得更加简洁的情况:
可以省略的内容:
1、(参数列表):括号中的参数列表的数据类型,可以省略不写(编译器自己会根据上下文语境推断出类型的)
2、(参数列表):括号中的参数只有一个,()可以省略
3、(参数列表):Lambda体只有一句语句({ 只有一句语句 }),无论是否有返回值,都可以省略({ }, return , 分号 )!!!注意:在省略{ }的同时要(return)和分号一起省略
参考资料:https://blog.csdn.net/Gaoju12138/article/details/109546832?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522161588713616780266270616%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=161588713616780266270616&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_v2~rank_v29-2-109546832.first_rank_v2_pc_rank_v29&utm_term=javaLambda%E8%A1%A8%E8%BE%BE%E5%BC%8F%E6%97%A0%E8%BF%94%E5%9B%9E%E5%80%BC%EF%BC%8C%E4%BB%80%E4%B9%88%E6%97%B6%E5%80%99%E5%A4%A7%E6%8B%AC%E5%8F%B7%E5%8F%AF%E4%BB%A5%E7%9C%81%E7%95%A5 (Java Lambda表达式,有参数的使用,有参数有返回值的使用,Lambda表达式的省略格式,使用前提。)
加载全部内容