Java8的改进和新的特性

Java8的改进和新的特性

  1. 扩展方法。接口有了默认方法,当实现接口后,就可以使用默认方法。
  2. lambda表达式。不用使用匿名的对象,使用更简洁的方式进行编程。lambda表达式可以访问外层作用域,如果访问局部变量那么可以不声明为final(匿名对象需要生命为final),虽然没有设置为final但是在语义上等同于final,修改是不允许的。
  3. 函数式接口。每个lambda表达式对应一个类型,通常是接口类型。函数式接口是指仅仅包含一个抽象方法的接口。在接口上加上注解 @FunctionalInterface来指明是函数式接口(不指明也行)。
  4. java8允许使用::关键字来传递方法或者构造函数引用。
  5. 新增了许多新的接口。predicate接口:将输入参数进行处理,返回boolean结果。function接口:接受参数进行逻辑处理并且返回结果。等等。
  6. 新增Optional接口,用来防止NullPointerException异常的辅助类型。在java8中不推荐返回null而是返回Optional。
  7. stream接口:表示在一组元素可以一次执行的操作序列。分为中间操作和终止操作两种。中间操作返回的是stream本身,终止操作返回的是特定类型的结算结果。并且stream可以串行执行或者并行执行。同时在stream中可以应用filter、sort、map、match、count、reduce等等操作。
  8. 时间API。java8在java.time下多了一组全新的时间日期API。Clock、Timezones、LocalTime、LocalDate、LocalDateTime。
  9. 注解。java8开始支持多重注解。之前同一个注解需要放在类似数组的结构中,现在可以直接多个@,只需要对注解标注为@Repeatable。

参考资料:
网上资源
备注:
转载请注明出处:http://blog.csdn.net/wsyw126/article/details/78011678
作者:WSYW126

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值