20201225-刘佳昊

完整更新地址

  • Github
  • Gitee
    (本仓库强制同步自Github, 建议浏览Github原版)

本markdown只是简述更新logs,详细说明及代码示例请浏览Github

知识点

不变模式

分为:

  1. 不可变类 (immutable class)

    1. 类被 final 修饰

      (被 final 修饰的 class 是 final class , 该 class 不能被继承)

    2. 所有属性被 final 修饰

      (被 final 修饰的 variable 是 final variable , 该 variable
      初始化后不可更改)

    3. 不提供实例变量的修改器

      (即实例变量对应的setter)

  2. 不可变对象 (immutable object)

    1. 一个对象一经创建, 其状态再也无法改变
    2. 所谓状态不可变是该对象的实例变量的值再也无法修改
  • 8种基本数据类型对应的包装类都是不可变类 String 对象 是 不可变对象

java.util.Date

  1. 历元: Greenwich mean time (GMT) midnight, January 1, 1970 UTC.

    (格林威治标准时间 1970.01.01 00:00:00.0000 UTC)

  2. Java中的时间表示方式是 历元 到 现在 的时间偏移量

    E.g.System.currentTimeMillis();

  3. 时间换算规则:

    • 1 hour = 60 minutes
    • 60 minutes = 3,600(60*60) seconds
    • 3,600 seconds = 3,600,000(3,600*1000) milliseconds
    • 3,600,000 milliseconds = 3,600,000,000(3,600,000*1000) nanoseconds
  • Date类中的 fastTime 实例属性 用于存储 时间(毫秒)

  • 尚未被废弃的实例方法:

  1. long getTime(); // 获取 Date实例 存储的 fastTime
  2. void setTime(long time); // 设置 Date实例 存储的 fastTime
  3. int hashCode(); // 通过 Date实例 存储的 fastTime 计算得出
  4. String toString(); // 打印 Date实例 存储的 fastTime 转换的时间(EEE MMM
    dd HH:mm:ss zzz yyyy)
  5. boolean before(Date when); // 判断 this.fastTime < when.fastTime 返回
    true / false
  6. boolean after(Date when); // 判断 this.fastTime > when.fastTime 返回
    true / false
  7. boolean equals(Object obj); // 判断 this.fastTime == obj.fastTime 返回
    true / false
  8. int compareTo(Date anotherDate); // this.fastTime < / == / >
    anotherDate.fastTime 返回 -1 / 0 / 1
  9. Object clone();
  10. Instant toInstant(); (JDK1.8+)

  • 类方法:

  1. static Date from(Instant instant) (JDK1.8+)

Calendar & GregorianCalendar

  • Calendar 是一个 抽象类, 表示 日历
  • Calendar 有三个实现子类, 其中最常用的是 GregorianCalendar 类
  • 可以通过 Calendar.getInstance(); 返回当前地区所匹配的 Calendar实现类实例
  • Calendar类 内部通过字段储存日历数据
  • Calendar类 为特定时间与一组 日历字段 之间的转换提供了一些方法, 并为操作
    日历字段 提供了一些方法
  • Calendar类 提供了根据 Calendar实例 返回 java.util.Date类 的实例 的方法

LocalDateTime

由 LocalDate类 实例 和 LocalTime类 实例 共同组成

  • java.time.* package 是 JDK8 新提供的 包
  • LocalDateTime类, LocalDate类, LocalTime类 都是 final class 也是
    immutable class
  • LocalDateTime实例, LocalDate实例, LocalTime实例 是 immutable object

LocalDate类

LocalTime类

_(:з」∠)_

标签

评论

© 2021 成都云创动力科技有限公司 蜀ICP备20006351号-1