此文章主要记录下学习lambda的记录,方便查阅。
1.举列:(o1,o2)->Integer.compare(o1,o2);
2.格式
- ->lambda操作符 或者箭头操作符
- ->左边:lambda 形参列表(就是接口中抽象方法的形参列表)
- ->右边:lambda体(就是重写的抽象方法的方法体)
3.lambda表达式的使用:(分6种情况)
1.无参数 无返回值
2.需要一个参数,但是没有返回值
3.数据类型可以省略,因为编译器可以推断出来,称为“类型推断”
4.只有一个参数的时候,参数的小括号可以省略
5.两个或者两个以上的参数,多条执行语句,并且有返回值
6.只有一条执行语句的时候,return和大括号都可以省略
Comparator<Integer> comparator = new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return Integer.compare(o1, o2);
}
};
int compare = comparator.compare(20,20);
System.out.println(compare);
//lambda
Comparator<Integer> comparator3 = (o1,o2)->Integer.compare(o1, o2);
int compare3 = comparator3.compare(20,19);
System.out.println(compare3);
4.lambda表达式的本质: 接口的实例
欢迎关注我的公众号:程序江湖,一起来学习: