如何写Lambda表达式?
1.必须有函数接口:只有一个抽象接口,如:
interface ILike{
void lambda(int a,int b); }
2.Lambda只有一行代码才能简化表达式。如果有多行,则必须用代码块(花括号)包裹
3.一个或多个参数可以去除参数类型,如果要去除,必须添加括号
简化流程:
1.匿名内部类
like = new ILike() {
@Override public void lambda(int a, int b) {
System.out.println("I like Lambda" a*b); } }; like.lambda(10,20);
[外链图片存储失败,源站可能有防盗链机制,建议保存图片直接上传(img-LMpI0KLg-1626272860867)(H:\Soft\Typora\img\lambda.png)]
如图所示,因为ILike它是一个函数接口,选定的部分是固定的,因此可以省略它,从匿名内部类调整到以下类别Lambda函数
2.Lambda表达式
ILike like; like = (a,b)-> {
System.out.println("I like Lambda" a*b); }; like.lambda(10,20);
3.因为以上Lamba表达式方法体中只有一行代码,可以省略代码块(花括号)
ILike like; like = (int a, int b)->System.out.println("I like Lambda"+a*b); like.lambda(10,20);