一. lambda表达式
lambda表达式的理解
- 概述:以类似匿名内部类的方式实现某接口所调用的方法
- 格式:(形式参数) -> {代码块}
- 规则:
- 参数类型可以省略。但是有多个参数的情况下,不能只省略一个
- 如果参数有且仅有一个,那么小括号可以省略
- 如果代码块的语句只有一条,可以省略大括号和分号,和return关键字
- 注意事项
使用Lambda必须要有接口,并且要求接口中有且仅有一个抽象方法
lambda表达式和匿名内部类的区别
- 匿名内部类:可以是接口,也可以是抽象类,还可以是具体类,可以有多个抽象方法,编译之后,产生一个单独的.class字节码文件
- Lambda表达式:只能是接口且仅有一个抽象方法。编译之后,没有一个单独的.class字节码文件。对应的字节码会在运行的时候动态生成 |
|