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表达式
最新推荐文章于 2024-02-28 08:00:00 发布