在学习java api---LocalTime时遇到的一个问题,给的教材中只有plusHours() plusMinutes() plusWeeks() plusDays(),但是在idea中尝试的时候跳出了plus()的方法,但是实在不知道
中TemporalUnit unit的代表的是什么类型
翻看jdk8的文档也是很僵硬的中翻
直接查看TemporalUnit接口 发现ChronoUnit枚举类实现该接口
在使用时直接调用ChronoUnit下的属性即可
也是可以指定一个单位进行添加操作,而且可操作的单位比其他plus方法多,但其实有些属性不常用
public static void main(String[] args) {
// 0、获取本地时间对象: 时 分 秒 纳秒 不可变的
LocalTime nowTime = LocalTime.now();
System.out.println("nowTime = " + nowTime);
//直接用plus()加10小时
LocalTime addTime2 = nowTime.plus(10, ChronoUnit.HOURS);
System.out.println("addTime2 = " + addTime2);
//用plusHours()加1小时
LocalTime addTime3 = nowTime.plusHours(10);
System.out.println("addTime3 = " + addTime3);
//用LocalTime自带的方法比较以下两者是否相同
System.out.println(addTime2.equals(addTime3));
}
结果如下:首先输出现在的时间,然后对比两种方法
可以发现结果是相同的
总结:plus和其他plusHours方法相同,单独把这几个方法拿出来定义 猜测也许是因为这几个方法比较常用(ps 查jdk文档确实有用 但是机翻的中文实在看不懂)