Lambda表达式-练习后篇

使用Lambda标准格式(有参有返回)

题目:给定一个计算器Calculator接口 内包含抽象方法calc可以将两个int数字相加得到和值

代码

接口

public interface Calculator {
public abstract int calc(int a,int b);
}

测试类:

public static void main(String[] args) {
method(20,30,(int a,int b)->{return a+b;});
}
public static void method(int a,int b,Calculator calculator){
int calc = calculator.calc(a, b);
System.out.println(calc);
}

运行结果:

 Lambda省略格式

Lambda强调的是”做什么“而不是”怎么做“ 所以凡是可以根据上下文推导得知的信息 都可以省略 

省略规则

在Lambda标准格式的基础上 使用省略写法的规则为:

1.小括号内参数的类型可以省略

2.如果小括号内有且仅有一个参 则小括号可以省略

3.如果大括号内有且仅有一个语句 则无论释放有返回值 都可以省略大括号 return关键字及语法分号

注意:要省略他们三个得一起省略

代码:

无参数的Lambda省略表达式:

public static void main(String[] args) {
//method(()->{ System.out.println("吃饭啦!"); });

method(()->System.out.println("吃饭啦!"));
}
public static void method(Cook cook){
cook.makeFood();
}

有参数的Lambda省略表达式:

public class test {
public static void main(String[] args) {
//method(20,30,(int a,int b)->{return a+b;});

method(20,30,(a,b)->a+b);
}
public static void method(int a,int b,Calculator calculator){
int calc = calculator.calc(a, b);
System.out.println(calc);
}
}
posted @ 2022-10-17 10:32  想见玺1面  阅读(25)  评论(0编辑  收藏  举报