所有其他的mutators在JDK 1.1中都棄用了,爲什麼setTime()
保持原樣?當然java.util.Calendar
- 操縱日期的正確方法 - 可以根據需要使用java.util.Date(long)
構造函數創建java.util.Date
的新實例?爲什麼java.util.Date的setTime()方法不被棄用?
4
A
回答
6
已棄用的Date
的位是與日曆(即日,月,年等)相關的那些位。您會注意到日曆字段的訪問器方法也被棄用,而不僅僅是增變器。
但是,表示法是一個毫秒值,但仍然是Date
的工作方式,並且與日曆表示無關,因此它保持不推薦。
2
因爲setTime
方法是至少在邏輯上正確的:在setX
方法,這需要天,個月等毫無意義:一個java Date
在時間的瞬間,因此天,小時 ,月等只涉及Date
在特定TimeZone
中的觀點。
4
其他的增變器試圖使用java.util.Date
作爲日曆,而不是一個即時的時間,自1970年1月1日上午12點UTC開始包裝數毫秒。因此,對於那個不應該被棄用的增變器是有意義的。
的Date
/Calendar
的API仍然是可怕的,當然,你仍然應該使用Joda Time儘可能 - 但我能看到爲什麼呼叫不會被棄用。在事實之後,你不能創建一個不可變的類型,而這並不是貶抑的一點 - 關鍵是試圖阻止人們將它用作「1976年6月19日」的存儲空間等。
相關問題
- 1. 爲什麼java.util.Date和Calendar在Java8中不完全棄用?
- 2. Object.observe的替代方法是什麼,因爲它已被棄用
- 3. 爲什麼InstanceMethods模塊已被棄用?
- 4. 爲什麼create = dynamic已被棄用?
- 5. 爲什麼Java插件被棄用
- 6. 爲什麼render_component已被棄用?
- 7. 爲什麼GenFsm已被棄用?
- 8. 爲什麼TabListener已被棄用?
- 9. NSTextField insertText方法已被棄用,替換是什麼?
- 10. 用setTime方法遇到的麻煩
- 11. 爲什麼Vector和HashTable被廣泛認爲應該被棄用?
- 12. 爲什麼每個方法被調用?
- 13. 爲什麼Fabric存儲庫被放棄?
- 14. 不明白爲什麼我的方法不被稱爲
- 15. 爲什麼棄用@ConfigurationProperties中的方法位置?
- 16. 爲什麼我的RecyclerView.ViewHolder的onClick方法有時不被調用?
- 17. 棄用com.apple.eawt.ApplicationListener的替代方法有什麼替代方法
- 18. NSDateFormatter的init方法已被棄用?
- 19. 如果Swing已被棄用,那麼替代方案是什麼?
- 20. 爲什麼Android WebChromeClient的onCreateWindow方法永遠不會被調用?
- 21. 爲什麼我的卸載方法不被調用?
- 22. 爲什麼我的shouldOverrideLoading方法永遠不會被調用?
- 23. 爲什麼我的CreateRibbonExtensibilityObject方法不被調用?
- 24. 爲什麼我的doFilterInternal方法不被調用?
- 25. 爲什麼我的表視圖委託方法不被調用?
- 26. 爲什麼MapMaker.softKeys()已棄用?
- 27. 爲什麼/ Wp64棄用?
- 28. 爲什麼(javax.servlet。)SingleThreadModel棄用?
- 29. 爲什麼在Scala中從ParSeqLike中棄用View方法?
- 30. 爲什麼不太匹配重載的方法被稱爲
我真的很希望該日期是不可改變的。 – 2009-10-12 21:45:19
你不必使用它,你知道。有更好的選擇。 – skaffman 2009-10-12 21:50:32
@skaffman。如果您正在使用java.sql。*,則不會。當然,將java.sql.Timestamp作爲java.util.Date的一個子類是另一個可怕的錯誤。 – 2009-10-12 22:38:51