JAVA Lambda 表达式

一、什么是Lambda表达式:

在Java中,我们可以给变量赋一个值,而Lambda表达式就是给变量赋一段代码(Java8之前是不行的),所有的Lambda类型都是一个函数式接口,而Lambda表达式本身,也就是”那段代码“,需要是这个接口的实现,简言之:Lambda表达式本身就是一个接口的实现,允许把函数作为一个方法的参数(函数作为参数传递进方法中)。

二、Lambda表达式格式:

    @Test
    void stuPrint() {
        String stuName = "张三";
        String stuAge = "15";
        MyPrinter myPrinter = (name, age) -> {System.out.println("我叫" + name + ",我今年" + age + "岁了");};
        myPrinter.toPrint(stuName, stuAge);
    }

表达式构造:
MyPrinter:函数式接口
myPrinter:别名
(name, age):参数,可为空,不用写参数类型
{System.out.println(“我叫” + name + “,我今年” + age + “岁了”);}; :方法体,相当于是对接口中的方法进行实现,方法体单行的时候可以省略大括号{},如果是个有返回值的表达式,单行的不需要写return关键字,否则需要

三、Lambda表达式有什么用?

最直观的作用就是使得代码变得异常简洁,简化开发。
Java8的Lambda表达式和传统的Java对同一个接口的实现:
在这里插入图片描述
这两种都能实现想要的结果,但是,Java 8中的写法更加优雅简洁。并且,由于Lambda可以直接赋值给一个变量,我们就可以直接把Lambda作为参数传给函数, 而传统的Java必须有明确的接口实现的定义,初始化才行:
在这里插入图片描述
有些情况下,这个接口实现只需要用到一次。传统的Java 7必须要求你定义一个“污染环境”的接口实现MyInterfaceImpl,而相较之下Java 8的Lambda, 就显得干净很多。

四、Lambda表达式特征:

可选类型声明:不需要声明参数类型,编译器可以统一识别参数值。
可选的参数圆括号:一个参数无需定义圆括号,但多个参数需要定义圆括号。
可选的大括号:如果主体包含了一个语句,就不需要使用大括号。
可选的返回关键字:如果主体只有一个表达式返回值则编译器会自动返回值,大括号需要指定明表达式返回了一个数值。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值