StringBuffer
String:字符串是一个不可变的对象,当字符串内容发生变化时,都会产生新的字符串。
StringBuffer(字符串缓冲区):有效提升字符串拼接等变换的性能(建议采用),可以把它理解为是一种可变的字符串。
构造方法:
StringBuffer()创建一个空的字符串缓冲区
StringBuffer(String)创建一个字符串缓冲区并添加好字符串
常用方法:
-
append(各种类型) : StringBuffer 向字符串缓冲区追加内容(重载方法)
-
toString() : String 将字符串缓冲区中的内容转换为字符串
-
insert(int offset, String str) : StringBuffer 向字符串缓冲区的指定位置追加内容,原有的内容会依次后移
-
deleteCharAt(int index) : StringBuffer 根据下标删除字符串缓冲区的指定字符
-
reverse() : StringBuffer 将字符串缓冲区中的内容反转
-
...
在StringBuffer中有大量和String相同的方法,例如:substring(int start)/replace/length/charAt... ...
StringBuilder 的 API 和 StringBuffer 相像,且性能更佳,但它是线程不安全的类型。
StringJoiner
构造方法:
-
StringJoiner(CharSequence delimiter) 只指定分隔符
-
StringJoiner(CharSequence delimiter, CharSequence prefix, CharSequence suffix) 指定分隔符、前缀、后缀
常用方法:
-
add(CharSequence newElement) : StringJoiner 拼接字符串
-
toString() : String 将拼接的内容转换为字符串
-
merge(StringJoiner) : StringJoiner 拼接两个StringJoiner
以后可以利用 StringJoiner 优雅的实现一些字符串的拼接。
它的底层拼接字符串采用的是 StringBuilder,性能也不错。
时间和日期
Date类
java.util.Date
构造方法:
-
Date() 以当前系统的时间毫秒值来构建 Date 对象
-
Date(long date) 传入时间毫秒值来构建 Date 对象
常用方法:
-
getTime() : long 获取 Date 对象的时间毫秒值(从 January 1, 1970, 00:00:00 到现在的时间毫秒值)
-
setTime() : void 给 Date 对象指定时间毫秒值
-
before(Date when) : boolean 判断当前 Date 对象是否在指定 Date 对象之前
-
after(Date when) : boolean 判断当前 Date 对象是否在指定 Date 对象之后
-
equals(Object obj) : boolean 判断两个 Date 对象是否相同(时间一致)
-
...
Calendar类
构造方法:
-
没有构造方法,只有一个获取 Calendar 对象的方法
-
getInstance() : Calendar 因为 Java 帮助你实现了一系列的本地化处理
-
常用方法(Date中大部分方法也可用):
-
set(int field, int value) : void 给 Calendar 对象指定具体的时间字段值
-
年:1,YEAR
-
月:2,MONTH
-
日:5,DATE
-
时:10,HOUR
-
分:12,MINUTE
-
秒:13,SECOND
-
星期:... DAY_OF_WEEK
-
...
-
-
getTime() : Date 转换为 Date 对象
-
add(int field, int amount) : void 给指定的时间字段添加值(可以传入正数或负数)
-
...
Java8的时间和日期
-
Instant:处理时间戳,类比 Date
-
now() : Instant
-
Date类
-
from(Instant) : Date
-
toInstant() : Instant
-
-
-
LocalDate:处理年月日信息(日期)
-
now() : LocalDate
-
of(年,月,日) : LocalDate
-
isLeapYear() : boolean 判断是否为闰年
-
...
-
-
LocalTime:处理时分秒信息(时间)
-
now() : LocalTime
-
of(时,分,秒) : LocalTime
-
...
-
-
LocalDateTime:处理年月日时分秒信息
-
now() : LocalDateTime
-
of(年,月,日,时,分,秒) : LocalDateTime
-
...
-
格式化时间和日期
SimpleDateFormat:java.text Java 8以前的时间和日期类型使用
构造方法:
-
SimpleDateFormat(格式化字符串) 构建日期格式化对象
// 指定格式化字符串:把时间和日期格式表示出来 // y:年 // M:月 // d:日 // H:小时 // m:分钟 // s:秒
常用方法:
-
parse(时间和日期字符串) : Date 解析字符串为 Date 对象
-
format(Date date) : String 格式化 Date 对象为字符串
DateTimeFormatter :Java 8的时间和日期类型使用
-
ofParttern(格式化字符串) : DateTimeFormatter
-
format(日期) : String
-
在 Java 8 的时间和日期类型中,都有一个 parse 方法,可以传入一个 DateTimeFormatter 对象,以进行解析字符串为指定时间和日期类型的作用
BigDecimal
java.math.BigDecimal,用于精确的运算(浮点数计算)
构造方法:
-
BigDecimal(String val) 根据一个字符串数值创建对象
-
记得千万不要用 BigDecimal(double val)
常用方法:
-
add(BigDecimal) : BigDecimal 加法
-
subtract(BigDecimal) : BigDecimal 减法
-
multiply(BigDecimal) : BigDecimal 乘法
-
divide(BigDecimal, int, int) : BigDecimal 除法
-
p2:int 代表保留几位小数
-
p3:int 代表规则
-
HALF_UP 四舍五入
-
向上取整
-
向下取整
-
...
-
-