新特性包括:
①. 随着大数据的兴起,函数式编程在处理大数据上的优势开始体现,引入了Lambda函数式编程。
②. 使用stream彻底改变了集合使用方式:只关注结果不关心过程。
③. 新的客户端图形化工具界面库:JavaFx
④. 良好设计的日期/时间API
⑤. 增强的并发/并行API
⑥. Java与Js交互引擎-nashron
⑦. 其他特性
举个栗子:
对字符串数组按字符串长度进行排序
使用场景:
通过以上的需求,发现lambda表达式还是较为简单,那么何时使用呢?
一:需要显示创建函数式接口对象的地方都可以使用。实际上函数式接口的转换是Lambda表达式,唯一能做的事情。即Lambda必须和Function,Interface配套使用。
二:主要用于替换以前广泛使用的内部匿名类,各种回调。比如事件响应器,传入Thread类的Runnable等。
函数式接口分类:
①. 系统自定义的函数接口
②. 用户自定义函数接口(必须有注解)
③. 公共定义的函数式接口
· 功能型接口:Function<T,R>
· 消费型接口:Consumer<T>:有输入参数,无返回值
· 供给型接口:Supplier<T>:无传入参数,有返回值
· 断言型接口:Predicate<T>:有传入参数,返回值为Boolean