Lamda表达式
理解Functional Interface(函数式接口)是学习Java8 lamda表达式的关键
函数时接口的定义
任何接口,如果只包含唯一一个抽象方法,那么这就是一个函数式接口.
对于函数式接口,我们可以通过lamda表达式来创建该接口的对象
1 public class LamdaTest { 2 3 public static void main(String[] args) { 4 Love love =null; 5 Love2 love2 =null; 6 Love3 love3 =null; 7 //1.lamda表示简化 8 love = () -> { System.out.println("简化1"); }; 9 10 //2.lamda参数简化 11 love = () -> { System.out.println("简化2"); }; 12 love2 =(String a) -> { System.out.println("简化2.2" + a); }; 13 Love2 love2_2 =(a) -> { System.out.println("简化2.2_2" + a); };//简化参数类型 14 love3 =(a,b) -> { System.out.println("简化2.3" +a +"--" + b); }; 15 16 //3.lamda简化括号 17 love2 = a -> { System.out.println("简化3" + a); }; 18 love3 =(a,b) -> { System.out.println("简化3.1" +a +"--" + b); };//2个参数必须要有小括号 19 love.love(); 20 love2.love("to"); 21 love2_2.love("to"); 22 love3.love("me", "you"); 23 24 } 25 } 26 27 interface Love { 28 void love();//有且只有一个方法 29 } 30 31 interface Love2 { 32 void love(String to);//有且只有一个方法 33 } 34 35 interface Love3 { 36 void love(String from, String to);//有且只有一个方法 37 }