public static void main(String[] args) {
TestController testController = new TestController();
// 加 类型声明
MathOperation addition = (int a, int b) -> a + b;
int result1 = testController.operate(10, 5, addition);
System.out.println(result1);
// 减 不用类型声明
MathOperation sub = (a, b) -> a - b;
int result2 = testController.operate(10, 5, sub);
System.out.println(result2);
// 乘 没有大括号及返回语句
MathOperation mul = (a, b) -> a * b;
// 大括号中的返回语句
MathOperation mul2 = (a, b) -> {
return a * b;
};
int result3 = testController.operate(10, 5, mul);
int result4 = testController.operate(10, 5, mul2);
System.out.println(result3);
System.out.println(result4);
// 除 没有大括号及返回语句
MathOperation div = (a, b) -> a / b;
int result5 = testController.operate(10, 5, div);
System.out.println(result5);
// 不用括号
GreetingService greetingService = message -> System.out.println("hello " + message);
greetingService.sayMessage("Runoob");
// 用括号
GreetingService greetingService1 = (message) -> System.out.println("hello " + message);
greetingService1.sayMessage("Google");
}
interface MathOperation {
int operation(int a, int b);
}
interface GreetingService {
void sayMessage(String message);
}
private int operate(int a, int b, MathOperation mathOperation) {
return mathOperation.operation(a, b);
}
lambda表达式实例
最新推荐文章于 2020-08-15 19:39:43 发布