假设我有一个Calendar对象c。这一行的结果是什么:
c.getTimeInMilis();和
c.getTime().getTime();发布于 2016-06-01 12:34:39
从表面上看,它们是相同的。
但是我会选择第一个,因为它不会创建(显式) java.util.Date临时的。
c.getTimeInMilis();也更具有描述性。
就我个人而言,我不喜欢Java中的“链式”函数语句(比如a.b().c().d();),因为它们往往是NullPointerException可能性潜伏的地方。
发布于 2016-06-01 12:41:36
就在甲骨文的日历 API中
返回一个日期对象,该对象表示此日历的时间值(与时代的毫秒偏移“)。
// create a calendar
Calendar cal = Calendar.getInstance();
// print current time
System.out.println(" Current time is : " + cal.getTime());打印当前时间是:2016年美国东部时间08年6月31日:51:58
返回此日历的时间值(毫秒)。
// create a calendar
Calendar cal = Calendar.getInstance();
// print current time in milliseconds
System.out.println("Current time is : " + cal.getTimeInMillis());打印当前时间为: 1464785518706
发布于 2016-06-01 13:13:10
Java源代码是可用的。http://grepcode.com/file/repository.grepcode.com/java/root/jdk/openjdk/6-b14/java/util/Calendar.java#Calendar.getTime%28%29
Calendar.getTime():
public final Date getTime() {
return new Date(getTimeInMillis());
}Calendar.getTimeInMillis():
public long getTimeInMillis() {
if (!isTimeSet) {
updateTime();
}
return time;
}因此,myCalendar.getTime()只是new Date(myCalendar.getTimeInMillis())的捷径。
..。myCalendar.getTime().getTime()是(深呼吸!)的捷径:
new Date(myCalendar.getTimeInMillis()).getTime();..。这是获取相同long的一种漫长而低效的方法。
https://stackoverflow.com/questions/37568616
复制相似问题