为什么java.util.Calendar不使用枚举?



我有时会因为使用j.u.Karendar缺乏类型安全性而感到沮丧,并想知道是否有一个好的原因让我无法在日历API中使用enum,或者唯一的原因是它可能是在enum成为语言的一部分之前编写的,不值得破坏旧代码。

第二个子问题是:是否值得我花时间围绕Calendar类创建一个更类型安全的包装器,或者以前是否这样做过?


摘要:Calendar自Java 1.1以来就一直存在,而Enums仅在Java 5中出现,JODA Time被认为是Calendar的最佳替代包。

在编写Calendar时,枚举不是Java的一部分。由于忽视、担心破坏向后兼容性、优先级不足、开发人员不同意您的意见,所以没有添加它们——请自行选择。

它是在枚举进入该语言之前实现的(枚举到达版本5)。

JODA Time被广泛认为是最好的替代方案。

Calendar类从Java 1.1开始就存在了,这就是它不使用Enums的原因。

我强烈建议使用Joda时间,而不是java.util.Calendar的火车失事时间。

相关内容

  • 没有找到相关文章