20201225-刘佳昊
完整更新地址
本markdown只是简述更新logs,详细说明及代码示例请浏览Github
知识点
不变模式
分为:
-
不可变类 (immutable class)
-
类被 final 修饰
(被 final 修饰的 class 是 final class , 该 class 不能被继承)
-
所有属性被 final 修饰
(被 final 修饰的 variable 是 final variable , 该 variable
初始化后不可更改) -
不提供实例变量的修改器
(即实例变量对应的setter)
-
-
不可变对象 (immutable object)
- 一个对象一经创建, 其状态再也无法改变
- 所谓状态不可变是该对象的实例变量的值再也无法修改
- 8种基本数据类型对应的包装类都是不可变类 String 对象 是 不可变对象
java.util.Date
-
历元: Greenwich mean time (GMT) midnight, January 1, 1970 UTC.
(格林威治标准时间 1970.01.01 00:00:00.0000 UTC)
-
Java中的时间表示方式是 历元 到 现在 的时间偏移量
E.g.System.currentTimeMillis();
-
时间换算规则:
- 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 实例属性 用于存储 时间(毫秒)
-
尚未被废弃的实例方法:
- long getTime(); // 获取 Date实例 存储的 fastTime
- void setTime(long time); // 设置 Date实例 存储的 fastTime
- int hashCode(); // 通过 Date实例 存储的 fastTime 计算得出
- String toString(); // 打印 Date实例 存储的 fastTime 转换的时间(EEE MMM
dd HH:mm:ss zzz yyyy) - boolean before(Date when); // 判断 this.fastTime < when.fastTime 返回
true / false - boolean after(Date when); // 判断 this.fastTime > when.fastTime 返回
true / false - boolean equals(Object obj); // 判断 this.fastTime == obj.fastTime 返回
true / false - int compareTo(Date anotherDate); // this.fastTime < / == / >
anotherDate.fastTime 返回 -1 / 0 / 1 - Object clone();
-
Instant toInstant(); (JDK1.8+)
-
类方法:
- 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类
_(:з」∠)_
点赞
评论留言