我正在从Java 1.1迁移。到Java 5。
我注意到某些方法已被弃用,例如java.util.Date有一个不推荐使用的getYear()方法。
我的问题是,如果将getYear()方法保留为1.1,它仍将在Java 5中运行
答案 0 :(得分:4)
它仍然可以运行,即使它已被弃用。他们用“更好的”(Calendar.get(Calendar.MONTH))替换它,但原始版本留在那里是为了向后兼容。所以在你的情况下使用它没有问题。
答案 1 :(得分:4)
是的,它会像现在一样工作。它仅适用于将来的Java SE版本中的删除。弃用是纯粹的文档,只是为您提供了同时更新代码的空间。
目前,您应该使用java.util.Calendar
的方法或更加改进的JodaTime API方法。标准Java SE中日期/时间API的替换将类似于JodaTime,并且仍然是(JSR-310)。计划用于JDK7,但不幸的是它似乎没有及时。
答案 2 :(得分:2)
它会起作用但是开始考虑替代方案可能不是一个坏主意。
getYear因某种原因被弃用;与Date关联的年份实际上是依赖于Locale的,因此已移至Calendar类。从类数据本身中提取Locale依赖项的Date类的重新构建也是您在其他日期/日历相关功能中看到的。因此,在适当的情况下移动到日历可能是明智的。
那就是说,我不会用棍子触摸Java的日期/日历内容,我更喜欢Apache Commons Lang和其他人处理大多数日期/时间相关的东西。我也听说尤达在这方面很受欢迎。