/**
* @author shkstart
* @create 2021-03-03 21:44
*/
public class Test1 {
//lambda表达式前后对比
@Test
public void test(){
Runnable r1 = new Runnable() {
@Override
public void run() {
System.out.println("吃饭");
}
};
r1.run();
//lambda写法
Runnable r2 = () -> System.out.println("睡觉");
r2.run();
}
@Test
public void test1(){
Comparator<Integer> com1 = new Comparator<Integer>() {
@Override
public int compare(Integer o1, Integer o2) {
return Integer.compare(o1, o2);
}
};
int compare = com1.compare(12, 23);
System.out.println(compare);
//lambda写法
Comparator<Integer> com2 = (o1,o2) -> Integer.compare(o1, o2);
int compare1 = com2.compare(56, 89);
System.out.println(compare1);
//方法引用
Comparator<Integer> com3 = Integer :: compare;
int compare2 = com3.compare(88, 4);
System.out.println(compare2);
}
// 2.Lambda表达式的基本语法:
// 1.举例: (o1,o2) -> Integer.compare(o1,o2);
// 2.格式:
// ->:lambda操作符 或 箭头操作符
//* ->左边:lambda形参列表 (其实就是接口中的抽象方法的形参列表
//* ->右边:lambda体 (其实就是重写的抽象方法的方法体
// 总结六种情况:
// ->左边:lambda形参列表的参数类型可以省略(类型推断);如果lambda形参列表只一个参数,其一对()也可以省略
// ->右边:lambda体应该使用一对{}包裹;如果lambda体只一条执行语句(可能是return语句,省略这一对{}和return关键字
lambda表达式
最新推荐文章于 2023-06-14 09:19:05 发布