Java8新特性

1.为什么流会延迟执行  

 流采用惰性计算的方式。只有在需要结果的时候,流才会开始执行操作流框架。并且流会根据整个操作链构建一个优化的执行计划,因此在执行返回 Stream 的方法时,并不立刻执行,而是等返回一个非 Stream 的方法后才执行。

2. 流小结

  1. 一个流对象只可以操作一次,但是可以通过链式编程对遍历后的数据再处理
  2. 流的方法参数都是函数式接口
  3. 流不保存数据,不改变数据

3. Optional类

Optional是为了 解决 NPE(java.lang.NullPointerException)问题而产生的类

3.1 创建Optional对象的方式
  1. ofNullable 方法
  2. of方法会抛出 NullPointerException 异常
//ofNullable方法
public static <T> Optional<T> ofNullable(T value) {
   return value == null ? empty() : of(value);
}

//of方法
public static <T> Optional<T> of(T value) {
    return new Optional<>(value);
}
3.2 Optional类中会报空指针异常的方法
  1. of()
  2. get()
  3. flatMap()

4.Date-Time API

4.1 java.time 主要类
LocalDateTime.class // yyyy-MM-dd HH:mm:ss"
LocalDate.class // yyyy-MM-dd
LocalTime.class //HH:mm:ss
4.2 jdbc 时间类型和 java8 时间类型对应关系
  1. Date ---> LocalDate
  2. Time ---> LocalTime
  3. Timestamp ---> LocalDateTime
4.3 Java8时间类型解决了Date类哪些问题?
  1. 线程安全问题
  2. 时区处理麻烦
  3. 格式化,时间计算麻烦
  4. java.time将日期和时间进行了分离

 

  • 9
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值