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

Ben*_*age 3 java enums datetime calendar

我有时会对juCalendar缺乏类型安全感到沮丧,并且想知道是否有充分的理由不在Calendar API中使用枚举,或者唯一的原因是它可能是在枚举之前编写的语言的一部分,不值得打破旧代码.

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


总结: Calendar自Java 1.1以来一直存在而Enums只在Java 5中使用,JODA Time被认为是最佳的替换包Calendar.

duf*_*ymo 7

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


Jef*_*ter 6

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

JODA时间被广泛认为是最佳替代方案.