最近查找资料学习时,发现例子中有好多地方用到了lambda表达式,所以今天学习记录一下。

推荐一个youtube的视频,讲解的非常不错。国内的伙伴有可能需要fan qiang才能看到。Good luck!!!

https://www.youtube.com/watch?v=gpIUfj3KaOc&list=PLqq-6Pq4lTTa9YGfyhyW2CqdtW9RtY-I3&index=1

 

Lambda表达式

它可以看做是函数型编程,那么java中函数定义就用接口来担当,所以,用到Lambda的时候需要使用一个接口。Lambda相关的语法规则也在下面代码中补充。

 1 public class LamdbaDemo01 {
 2 
 3     public static void main(String[] args) {
 4 
 5         // new Thread( () -> System.out.println("--")).start();
 6         MyLambda greet = () -> System.out.println("Hello World!");
 7         greet.foo();
 8         // MyAdd myAdd = (int i, int j) -> i + j; 
 9         // 因为参数的变量名称一致,所以参数的变量类型可以省略
10         MyAdd myAdd = (i, j) -> i + j; 
11         System.out.println(myAdd.add(2, 3));
12         
13         // 当参数只有一个的时候可以省略() , 此外当箭头右侧的代码只用一行的时候,可以省略{}
14         MyLength myLength = s -> s.length();
15         System.out.println(myLength.leng("Hello world!"));
16     }
17 }
18 
19 // 接口中只能有一个方法,这是使用Lambda表达式的要求
20 interface MyLambda {
21     void foo();
22 }
23 
24 interface MyAdd {
25     int add(int i, int b);
26 }
27 
28 interface MyLength {
29     int leng(String s);
30 }
View Code

相关文章: