java8发布很长时间了,作为一次重大的版本升级,有一些新的特性值得一记。
特性一:Lambda表达式,简化代码,增强代码可读性。
lambda表达式三大组成部分:
参数列表——这里它采用了Comparator中compare方法的参数,两个Apple。
箭头——箭头->把参数列表与Lambda主体分隔开。
Lambda主体——比较两个Apple的重量。表达式就是Lambda的返回值了。
语法格式:
特性二:函数式接口
Lambda 表达式需要“函数式接口”的支持,函数式接口:接口中只有一个抽象方法的接口。通常用 @FunctionalInterface注解修饰。JDK8提供的部分函数式接口如下。
特性三:stream API
Stream是jJava API的新成员,允许我们以声明性方式处理数据集合,还可以透明地并行处理。
特性四:Optional类
Optional<T>类(java.util.Optional)是一个容器类,代表一个值的存在或不存在。原理用null表示一个值不存在,现在Optional可以更好的表达这个概念。并且可以避免空指针异常。