Lambda表达式

        Lambda 表达式是 JDK 8 开始后的一种新语法形式。语法格式如下:

() -> {
 
}
//()对应方法的形参
// -> 固定格式
//{}对应方法的方法体

        样例:

Arrays.sort(arr new Comparator<Integer>(){
    @override
    public int compare(Integer o1, Integer o2){
        return o1 - o2;
    }
});

        用 Lambda 表达式简化后:

Arrays.sort(arr (Integer o1, Integer o2) -> {
        return o1 - o2;
    }
);
  • Lambda 表达式可以用来简化匿名内部类的书写
  • Lambda 表达式只能简化函数式接口的匿名内部类的写法
  • 函数式接口:有且仅有一个抽象方法的接口叫做函数式接口,上方可以加 @FunctionalInterface 注释

        调用一个方法时,如果方法的形参是一个接口,那么我们要传递这个接口的实现类对象,如果实现类对象只要用到一次,就可以用匿名内部类的方式进行书写,就可以用 Lambda 表达式来简化匿名内部类的书写。

        Lambda 是一个匿名函数,我们可以把 Lambda 表达式理解为是一段可以传递的代码,它可以写出更简洁,更灵活的代码,作为一种紧凑的代码风格,使 Java 语言表达能力得到提升。

        在代码的书写过程中,代码风格的规范性是非常重要的。

        Lambda 的省略规则(省略核心:可推导,可省略):

  1. 参数类型可以省略不写。
  2. 如果只有一个参数,参数类型可以省略,同时 () 也可以省略。
  3. 如果 Lambda 表达式的方法体只有一行,大括号,分号,return 可以同时省略不写。
Arrays.sort(arr new Comparator<Integer>(){
    @override
    public int compare(Integer o1, Integer o2){
        return o1 - o2;
    }
});
//Lambda完整格式
Arrays.sort(arr (Integer o1, Integer o2) -> {
        return o1 - o2;
    }
);
//Lambda省略写法
Arrays.sort(arr (o1, o2) -> o1 - o2);

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值