1、Optional
2、lanmda
条件:
1.方法的参数或局部变量类型必须为接口!!!,才能使用Lambda
2.接口中有且仅有一个抽象方法
针对一个接口中,是否有大于一个抽象方法?JDK8为我们新增了一个注解:@FunctionalInterface。它能够帮助我们检测这个接口是不是只有一个抽象方法,如果有两个抽象方法,则会报错。
3、接口和抽象类、抽象防范
接口:用 interface修饰,只能定义抽象方法和①静态常量 ,子类可以同时实现多个接口。并且实现全部的抽象方法。
jdk1.8后增强 ①静态常量 ②抽象方法 ③默认方法 ④静态方法
抽象类: abstract 定义的类,里面可以存在抽象方法 也可以定义非抽象方法,可以不能被实例化 子类继承抽象类后必须实现所有的抽象方法。子类可以直接调用抽象类中的非抽象方法
抽象方法:没有实现的方法称为抽象方法,用abstract 修饰 抽象方法只能定义在接口或者抽象类中。
4、接口增强
jdk1.8后增强 ①静态常量 ②抽象方法 ③默认方法 ④静态方法

5、Stream
JDK8之前,(示例中一次for循环除外)当我们面对一个集合多次 for循环的问题,则需要多次遍历集合来完成操作。针对这个问题,JDK8中引入了 Stream 流式操作,便能够解决多次 for 循环的弊端。


Collectors.toList()用来结束Stream流。
Java 8 Lambda表达式与Stream API详解
本文深入探讨了Java 8的Lambda表达式,介绍了其使用条件和优势,如简化代码和提高可读性。同时,文章详细讲解了Stream API如何通过流式操作解决多重循环问题,提升效率。重点讨论了@FunctionalInterface注解的作用以及接口与抽象类的区别。此外,还提到了Java 8中接口的增强,包括默认方法和静态方法的引入。
444

被折叠的 条评论
为什么被折叠?



