package text; @FunctionalInterface //该注解告诉这个接口里面只能够定义一个抽象方法 //接口里面只能定义一个抽象方法,这样编写的lamda表达式才能去匹配这个接口 interface IMessage{ public void print(String info); } @FunctionalInterface interface IMath{ public int add(int x,int y); } /*******lamda表达式方法体的使用形式******* * 只有一行语句:(参数) -> 程序的执行语句; * 有多行语句:(参数) -> {程序的执行语句}; * 简单返回: (参数) -> 表达式; * */ public class LamdaTest { public static void main(String[] args) { //只有一行语句:(参数) -> 程序的执行语句; IMessage msg = (info) -> System.out.println(info); msg.print("hello 你好"); //有多行语句:(参数) -> {程序的执行语句}; IMath m = (i,j) -> { int result = i + j ; System.out.println("第一个数字 "+i); System.out.println("第二个数字 "+j); System.out.println("m计算结果1: "+result); return result; }; System.out.println("m计算结果2: "+m.add(10, 20)); //简单返回: (参数) -> 表达式 IMath mm = (i,j) -> i + j ; System.out.println("mm计算结果:"+mm.add(10, 20)); } } //这是函数式编程的语法形式,操作结构:(参数)-> 语句(方法体)
lamda表达式
猜你喜欢
转载自blog.csdn.net/cinderella___/article/details/80385809
今日推荐
周排行