Lambda表达式:是可推导,可省略的
可省略内容:
1.(参数列表):括号中的参数列表的数据类型,可以省略不写
2.(参数列表):括号中的参数如果只有一个,那么类型和()都可以省略
3.(一些代码):如果{}中的代码只有一行,无论是否有返回值,都可以省略({},return,;)
注意:要省略三个一起省略
1.
invokeCook(()->{ System.out.println("吃饭啦1"); });
简化:
invokeCook(()-> System.out.println("吃饭啦1") );
2.
Arrays.sort(arr,(Person o1,Person o2)->{ return o1.getAge()-o2.getAge(); });
简化:
Arrays.sort(arr,(o1,o2)-> o1.getAge()-o2.getAge());
3.
invokeCalc(10,20,(int a,int b)->{ return a+b; });
简化
invokeCalc(10,20,( a, b)->a+b);
1. 使用Lambda必须具有接口,且要求接口中有且仅有一个抽象方法。
2.使用Lambda必须具有上下文推断。