天天看点

jdk8新特性jdk新特性

jdk新特性

1.日期类:

  • LocalTime

    :用于表示时间
    • 线程安全,精确到纳秒级别,构造器是私有的,一般获取系统时间一般直接使用静态方法

      now()

    • until(要比较的第二个电话,单位)

      计算2个时间的差值
  • LocalDate

    :用于表示日期
    • 线程安全,
  • LocalDateTime

    :用于表示日期时间
    • 同时处理日期和时间就可以用这个类
    • 观察源码,

      localDateTime

      本质就是

      LocalDate

      LocalTime

localDateTime

转化为Date对象:
  • 获取LocalDateTime的Instance对象
  • 然后使用Date.from(instance对象),这样就转化好了
将date对象转化为localDateTime
  • LocalDateTime.ofInstance(date.toINstance,ZonId.SystemDefault)

根据提供的偏移量获取时间毫秒数
  • toEpochSecond(zoneOffset.UTC);
  • DateTimeFormatter

    :用于日期时间格式化处理
    • 线程安全的,

      DateTimeFormatter.ofPattern(日期格式)

2.Lambda表达式

语法:

( )参数部分,有几个写几个,只需要写参数名,类型会自动推断,有一个参数可以不写括号

->引用部分,指向具体的实现

{}函数的实现体,如果只有一行代码需要被执行,则可省略。

函数式接口:

在接口的顶部使用

@functionalInterface

进行标注,该接口中只能由一个未实现的方法,

方法引用:
  • 静态方法引用:类名::静态方法名
  • 实例方法引用:对象名::实例方法名
  • 类实例方法引用:类名::实例方法名
  • 构造方法引用:类名::new 类名
当要使用实例方法引用,但是没有对象时,就用类实例引用

3.StreamAPI

不是java.io:输入输出流,主要针对集合框架一个简化操作,

核心:

  1. 获取流
    • stream自带的of()获取流
    • Arrays类的Stream()方法
    • Collection接口提供的stream()方法
  2. 中间操作,返回结果还是Stream
  3. 结果操作