194-JDK8-17新特性-新特性的概述_如何学习新特性_哔哩哔哩_bilibili
1.Java版本迭代概述
2.Lambda表达式
JDK8开始
冗余的匿名内部类
确定不可变的代码部分直接省略
简化举例①:
简化举例②:
简化举例③:
简单叙述一下个人理解:
- 内部类的出现是为了给某个类单独提供
- 非匿名内部类 (局部内部类) 的出现是为了像局部变量一样定义在方法中,有作用域
- 匿名内部类的出现是觉得没必要命名,反正就给某个方法用一下而已
- lambda表达式的出现是为了简化匿名内部类那么多必须写的冗余的代码,能省则省
具体语法(七种)
- 语法格式一:无参,无返回值
- 语法格式二:Lambda 需要一个参数,但是没有返回值。
- 语法格式三:数据类型可以省略,因为可由编译器推断得出,称为“类型推断”
- 语法格式四:Lambda 若只需要一个参数时,参数的小括号可以省略
- 语法格式五:Lambda 需要两个或以上的参数,多条执行语句,并且可以有返 回值
- 语法格式六:当 Lambda 体只有一条语句时,return 与大括号若有,都可以省 略
类型推断
3.函数式(Functional)接口
JDK8开始
4.方法引用与构造器引用
JDK8开始
5.Stream API
JDK8开始