欢迎光临散文网 会员登陆 & 注册

Java笔记--Lambda表达式

2023-09-06 20:07 作者:爪哇岛江户川  | 我要投稿

lambda表达式是从JDK8开始出现的一种新语法形式,可以简化匿名内部类的代码写法。

我们来实际感受一下lambda表达式是如何简化我们的匿名内部类的。

这一串是我们的匿名内部类。

接下来我们使用lambda表达式来对内部匿名类做简化:
():匿名内部类被重写方法的形参。

我们这里的形参是空的,所以不写。

{ }:被重写方法的方法体代码。

System.out.println("匿名内部内,重写后的show方法...");

可以看到,代码被简化了不少。

注意:lambda表达式只允许操作 函数式编程接口。

说人话就是:有,且只有一个抽象方法的接口。

lambda表达式的省略写法:

1、参数类型可以省略不写

2、如果只有一个参数,参数类型可以省略,同时()也可以省略

3、如果lambda表达式的方法体代码只有一行代码,可以省略大括号不写,同时要省略分号,此时,如果这行代码是return语句,必须省略return语句不写,同时也必须省略";"不写。

lambda表达式和匿名内部类的区别:

1、使用限制不同

匿名内部类:可以操作类(普通类、抽象类),也可以操作接口(抽象接口,函数式接口)。

lamdba表达式只能操作函数式接口。

2、实现原理不同:

匿名内部类:编译之后,产生一个单独的.class字节码文件。

lambda表达式:编译之后,没有单独的字节码文件。


Java笔记--Lambda表达式的评论 (共 条)

分享到微博请遵守国家法律