Java 混乱的 Date API 的奇怪案例
java.util.Date 和 java.util.Calendar 类长期以来一直受到批评他们固有的缺陷。日期是一个可变的时间戳,它带来了许多挑战,例如它无法明确地表示日期。另一方面,日历笨拙地组合了不同的日历系统,导致了繁琐的用户体验。
缺陷设计的起源
尽管存在明显的缺点,但这些类找到了进入 Java SDK 的方式。一些人推测时间限制可能是一个因素。然而,更细致的解释在于那个时代 API 设计的演变。
早期 JDK 类中的可变性
如 Date 中所示,可变性一直是许多早期 JDK 类的功能。它源于通过重用对象而不是创建副本来优化代码的愿望。在虚拟机效率较低的时代,这种方法似乎是合理的。
事后回顾
事后看来,这些类的问题是显而易见的明显的。然而,当时对 API 设计最佳实践的理解还不太成熟。此外,Java 可变性模型的全部含义可能尚未完全实现。
不幸的遗产
尽管引入了JSR-310,它提供了更现代、更强大的 API 来处理日期和时间。不幸的是,许多遗留应用程序继续依赖旧的类,从而延续了它们固有的问题。
总之,Java 日期 API 的混乱本质凸显了深思熟虑的 API 设计的重要性,认识到可变性的潜在陷阱,以及对最佳实践不断发展的理解。虽然过去可能无法改变,但从这些失误中吸取的教训可以指导未来的 API 开发工作。
以上是为什么 Java 的 Date API 如此混乱?的详细内容。更多信息请关注PHP中文网其他相关文章!