20201225-魏凯
2020.12.25
1. String
1.1 String/StringBuilder/StringBuffer的区别
- StringBuffer是线程安全的,其中绝大多数实例方法都是由synchronized修饰符修饰的
- StringBuilder不是线程安全的,其中所有的实例方法都没有synchronized修饰符修饰的
1.2 字符集
-
如果字符串中仅包含ISO-8859-1字符集中的字符,则字符序列按照ISO-8859-1字符集编码(encode)的。此时String实例中的coder取值为0
-
如果字符串中包含ISO-8859-1字符集之外的字符,则在String实例内部存储的byte数组是将字符序列按照UTF-16LE字符集编码的。此时String实例中的coder值为1
2. Date(日期)
2.1历元:格林威治标准时间1970年1月1日的00:00:00:000(格里高利历)
2.2java语言中传统的表示时间的方法是参照历元获取偏移量,比如System.currTimeMillis()
2.3在java语言中使用java.util.Date类的实例来表示日期和时间
2.4java.util.Date类尚未被废弃的两个构造方法:
- public Date()
- public Date(long millis)
2.5java.util.Date类尚未被废弃的实例方法:
- public long getTime()
- public void setTime(long millis)
- public int hashCode()
- public String toString()
- public boolean before(Date when):若当前Date实例表示的瞬间早于参数when表示的瞬间就返回true
- public boolean after(Date when):若当前Date实例表示的瞬间晚于参数when表示的瞬间就返回true
- public boolean equals(Object another):若当前Date实例与参数指定的对象相等则返回true
- public int compareTo(Date anotherDate):比较两个日期的顺序,若当前Date实例表示的瞬间早于、等于、晚于参数anotherDate所表示的瞬间则分别返回小于零、等于零、大于零的整数
- public Object clone()
- public Instant toInstant()【JDK1.8新增】
2.6java.util.Date类中的类方法:
public static Date from(Instant instant)【JDK1.8新增】
3. Time(时间)
3.1java.time包是Java 8新增的包
3.2LocalDate是java 8新增的最终类(final class)
3.3LocalDate类的实例都是不可变对象(year/month/dateOfMonth)
3.4LocalDataTime是Java 8新增的最终类
3.5LocalDataTime类的实例都是不可变对象(LocalDate/LocalTime)
3.6LocalTime是Java 8新增的最终类
3.7LocalTime类的实例都是不可变对象(hour/minute/second)
4. Calendar(日历)
4.1 Calendar类是一个抽象类,GregorianCalendar类是Calendar非抽象的子类
4.2 Calendar为特定瞬间与一组日历字段之间的转换提供了一些方法,并为操作日历字段提供了一些方法
例如:
- calendar.set(year, month, date);
- calendar.set(year, month, date, hourOfDay, minute);
- calendar.set(year, month, date, hourOfDay, minute, second);
4.3 Calendar类中提供了根据Calendar实例返回java.util.Date实例的方法:
public final Date getTime()
4.4 根据Calendar实例来获得java.util.Date实例
①获得Calendar实例(用它充当一个容器)
②清空Calendar实例中所有日历字段的值
③根据实际需要依次设置年、月、日、时、分、秒、毫秒等日历字段的值
④根据Calendar实例获得Date实例
近期评论