Java学习笔记:lambda表达式

前言:前几天电脑屏幕碎了又碎,没有学习。


一.lambda表达式简介


1、lambda表达式是针对接口而言,用来简化代码而存在的。

2、lambda表达式的基本语法:()->{};

二.lambda表达式与匿名类的对比

1.假设有一个名为StringHandler的接口,里面有一个抽象方法printMessage,方法有参数。测试类里面有一个useStringHandler方法,该方法调用抽象方法。则采用匿名类书写如下:

useStringHandler(new StringHandler() {
            @Override
            public void printMessage(String msg) {//执行useString方法时调用,且为msg传参,此处理解为“在重写方法”
                System.out.println("通过匿名类调用:你好,"+msg);
            }
        });

而采用lambda表达式书写为:

useStringHandler((String msg)->{
            System.out.println("你好,"+msg);
        });

可见,代码简洁了许多。

三.lambda的再省略

1.函数参数的类型可以省略。如果有多个参数,则要么全省略,要么都不省略(一致性);

2.如果只有一个参数,可以省略参数小括号;

3.如果函数体只有一行代码,则可以省略大括号和分号(一定要一起,即要么都省略,要么都不省略);如果为返回值,则return也可省略。

(再省真看不懂了)

上面的lambda表达式可省略为如下形式:

useStringHandler(msg->System.out.println("你好,"+msg));
//省略小括号、参数类型,大括号、分号

四.lambda表达式的注意事项

1.只有当接口中仅有一个抽象方法时(即函数式接口),才能1使用lambda表达式;

2.lambda表达式仅针对于接口,而匿名类适用范围更广:可以是接口,可以是抽象类,也可以是具体类。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值