2010-02-22 34 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和其他人处理大多数日期/时间相关的东西。我也听说尤达在这方面很受欢迎。