2010-02-22 52 views
6

我正在從Java 1.1遷移。到Java 5.Java版本遷移不推薦日期方法

我注意到一些方法已被廢棄,例如java.util.Date有一個不推薦使用的getYear()方法。

我的問題是,如果得到年()方法被留下,因爲它是在1.1將它仍然起作用Java 5中

回答

4

是的,它會像以前一樣工作。它僅適用於未來Java SE版本的刪除。棄用純粹是文件性的,只是給你空間來更新代碼。

目前,您應該使用java.util.Calendar的方法或更多改進JodaTime API。標準Java SE中日期/時間API的替代將與JodaTime類似,並且仍將到來(JSR-310)。它計劃用於JDK7,但不幸的是它似乎沒有及時。

+1

似乎JSR-310仍然可以製作JDK7:http://www.jroller.com/scolebourne/entry/new_job_impact_on_jsr – ColinD 2010-02-22 15:40:40

+0

這是我不知道的一篇相當新近的博客文章。感謝分享! – BalusC 2010-02-22 15:50:59

4

它仍將功能,即使它已經過時了。他們用一個'更好的'(Calendar.get(Calendar.MONTH))來代替它,但是爲了向後兼容的目的,原文留在那裏。所以在你的情況下使用它是沒有問題的。

2

它會起作用,但開始考慮替代方案可能不是一個壞主意。

getYear已被棄用的原因;與日期相關的年份實際上依賴於區域設置,因此已移至日曆類。 Date類的這種重構,它從數據本身提取Locale依賴關係,這也是您在其他Date/Calendar相關功能中看到的。因此,在適當的情況下轉移到日曆可能會很明智。這就是說,我不會用棒子觸摸java的日期/日曆東西,我更喜歡Apache Commons Lang和其他人處理大多數日期/時間相關的東西。我也聽說尤達在這方面很受歡迎。