一、Math
代表数学,是一个工具类,里面提供的都是对数据进行操作的一些静态方法。
二、System
System代表程序所在的系统,也是一个工具类。
三、Runtime
代表程序所在的运行环境,是一个单例类(对外只提供一个对象)。
四、BigDecimal
用于解决浮点型运算时,出现结果失真的问题。
五、JDK8之前传统的日期、时间
1.Date
代表系统的日期和时间。
2.SimpleDateFormat
代表简单日期格式化,可以把日期对象、时间毫秒值格式化成我们想要的形式。
3.Calendar
代表的是系统此刻时间对应的日历。通过他可以单独获取、修改时间中的年、月、日、时、分、秒
六、JDK8开始新增的日期、时间
1.LocalDate、LocalTime、LocalDateTime
LocalDate:代表本地日期(年、月、日、星期)
LocalTime:代表本地时间(时、分、秒、纳秒)
LocalDateTime:代表本地日期、时间(年、月、日、星期、时、分、秒、纳秒)
2.ZoneID、ZonedDateTime
3.Instant
通过获取Instant的对象可以拿到此刻的时间,该时间由两部分组成:从1970-01-01 00:00:00开始走到此刻的总秒数+不够一秒的纳秒数。
作用:可以用来记录代码的执行时间,或用于记录用户操作某个事件的时间点
传统的Date类,只能精确到毫秒,并且是可变对象;新增的Instant类,可以精确到纳秒,并且是不可变对象,推荐使用Instant代替Date。
4.DateTimeFormatter
5.Period、Duration
Period:可以计算两个LocalDate对象相差的年数、月数、天数。
Duration:可以用于计算两个时间对象相差的天数、小时数、分数、秒数、纳秒数;支持LocalTime、LocalDateTime、Instant等时间。
七、Arrays类、Comparable、Comparator
Arrays:用来操作数组的一个工具类。