所有其他的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. 爲什麼run方法不被調用?
- 4. 爲什麼#import已被棄用?
- 5. 爲什麼TabListener已被棄用?
- 6. 爲什麼InstanceMethods模塊已被棄用?
- 7. 爲什麼absolutelayout已被棄用?
- 8. 爲什麼Java插件被棄用
- 9. 爲什麼GenFsm已被棄用?
- 10. 爲什麼render_component已被棄用?
- 11. 爲什麼要bind()被棄用?
- 12. 爲什麼create = dynamic已被棄用?
- 13. 爲什麼Laravel丟棄()方法>
- 14. setTime方法的問題
- 15. 方法光標被棄用
- 16. NSTextField insertText方法已被棄用,替換是什麼?
- 17. Html.fromHtml()已被棄用,替代方法是什麼?
- 18. isAjax()在CakePHP 2.0上已被棄用。用什麼方法替代那個方法?
- 19. 爲什麼像'center','contains'這樣的方法在字符串上被棄用?
- 20. 用setTime方法遇到的麻煩
- 21. 爲什麼Vector和HashTable被廣泛認爲應該被棄用?
- 22. 爲什麼每個方法被調用?
- 23. 爲什麼當fireTableDataChanged()方法被調用
- 24. 爲什麼Fabric存儲庫被放棄?
- 25. 爲什麼event.returnValue已被棄用?這是什麼意思?
- 26. 不明白爲什麼我的方法不被稱爲
- 27. 爲什麼棄用@ConfigurationProperties中的方法位置?
- 28. 爲什麼我的RecyclerView.ViewHolder的onClick方法有時不被調用?
- 29. 棄用com.apple.eawt.ApplicationListener的替代方法有什麼替代方法
- 30. 爲什麼被遺棄的內存不被視爲ios中的泄漏內存
我真的很希望該日期是不可改變的。 – 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