为什么java.util.Calendar没有使用Enums?

时间:2011-06-17 09:47:13

标签: java datetime enums calendar

我有时因juCalendar缺乏类型安全性而感到沮丧,并且想知道是否有一个良好的原因是我没有在Calendar API中使用枚举,或者只是原因是它可能是在枚举成为语言的一部分之前编写的,并且不值得破坏旧代码。

一个辅助子问题是:是否值得花时间在Calendar类周围创建一个更安全的类型包装器,或者之前已经完成了这个?


摘要: Calendar自Java 1.1以来一直存在,而Enums仅在Java 5中使用,JODA Time被认为是{{{{3}}的最佳替换包1}}。

3 个答案:

答案 0 :(得分:7)

编写Calendar时,枚举不是Java的一部分。由于疏忽,害怕破坏向后兼容性,优先权不足,不同意你的开发人员,他们没有被添加 - 请你选择。

答案 1 :(得分:6)

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

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

答案 2 :(得分:2)

{1}}类自Java 1.1以来就存在,这就是为什么它不使用Calendar

我强烈建议您使用Joda time而不是Enums的火车残骸。