在開發過程中,通常很多人都習慣使用new Date()來獲取當前時間,使用起來也比較方便,同時還可以獲取與當前時間有關的各方面信息,例如獲取小時,分鍾等等,而且還可以格式化輸出,包含的信息是比較豐富的。但是有些時候或許你並不需要獲取那么多信息,你只需要關心它返回的毫秒數就行了,例如getTime()。為了獲取這個時間戳,很多人也喜歡使用new Date().getTime()去獲取,咋一看沒什么問題,但其實沒這個必要。
其實看一下java的源碼就知道了:
public Date() { this(System.currentTimeMillis()); }
已經很明顯了,new Date()所做的事情其實就是調用了System.currentTimeMillis()。如果僅僅是需要或者毫秒數,那么完全可以使用System.currentTimeMillis()去代替new Date(),效率上會高一點。況且很多人喜歡在同一個方法里面多次使用new Date(),通常性能就是這樣一點一點地消耗掉,這里其實可以聲明一個引用。