Oracle 是否有官方文档说我们不应该在新项目中使用 java.util.Date
Is there official documentation by Oracle saying we should not use java.util.Date in new project
我在Java8公司写新项目。我建议使用 Java 8 日期时间 API 但我的一位同事说新日期时间 API 工作缓慢。
这是真的吗?另外我想从 Oracle 获得一些官方文档,其中会提到你不应该在新项目中使用 java.util.Date
。
您可以在 Oracle 网站上找到答案 here
简而言之——不,java.util.Date
没有被弃用,但 Oracle 强烈建议使用新的 java.time
库(提到它们的优点,您可以在 link 以上)。
开发java.time.*
的时候,这句话是我想加在java.util.Date
上的:
"This class is now effectively deprecated by the Time Framework for Java."
它在源存储库中有一段时间了,参见 here。
但是,此更改被 Oracle 拒绝,因此没有明确弃用 java.util.Date
。但是,所有明智的开发人员通常应该使用 Instant
和 java.time.*
而不是 java.util.Date
.
Oracle 教程
I want to get some official documentation from Oracle
官方Oracle Tutorials has replaced the tutorial on date-and-time与新的material仅涵盖java.time类。
现在是“遗产”
麻烦的旧日期时间 类 已从教程中删除,除了 page on migrating from the old classes to the modern classes. Note that the page is explicitly labeled as ‘legacy'。
性能
至于性能,我不知道旧版和现代版之间有什么显着差异 类。
在内部,类 使用类似的数据、从纪元开始的整数计数和类似的时区信息。所以我无法想象 java.util.Date
和 java.time.Instant
之间的性能有什么大的差异。如果有的话,实际上 java.time 可能更快,因为它是完全线程安全的,因此您可以缓存和重用值而不是重新生成它们。
即使 java.time 类 被证明速度较慢,但它们的现代设计、使用的清晰度和结果的正确性 远 比一些次要速度更重要区别。
任何声称存在性能问题的人都应该使用示例代码进行演示。俗话说,“要么忍,要么闭嘴”。
我在Java8公司写新项目。我建议使用 Java 8 日期时间 API 但我的一位同事说新日期时间 API 工作缓慢。
这是真的吗?另外我想从 Oracle 获得一些官方文档,其中会提到你不应该在新项目中使用 java.util.Date
。
您可以在 Oracle 网站上找到答案 here
简而言之——不,java.util.Date
没有被弃用,但 Oracle 强烈建议使用新的 java.time
库(提到它们的优点,您可以在 link 以上)。
开发java.time.*
的时候,这句话是我想加在java.util.Date
上的:
"This class is now effectively deprecated by the Time Framework for Java."
它在源存储库中有一段时间了,参见 here。
但是,此更改被 Oracle 拒绝,因此没有明确弃用 java.util.Date
。但是,所有明智的开发人员通常应该使用 Instant
和 java.time.*
而不是 java.util.Date
.
Oracle 教程
I want to get some official documentation from Oracle
官方Oracle Tutorials has replaced the tutorial on date-and-time与新的material仅涵盖java.time类。
现在是“遗产”
麻烦的旧日期时间 类 已从教程中删除,除了 page on migrating from the old classes to the modern classes. Note that the page is explicitly labeled as ‘legacy'。
性能
至于性能,我不知道旧版和现代版之间有什么显着差异 类。
在内部,类 使用类似的数据、从纪元开始的整数计数和类似的时区信息。所以我无法想象 java.util.Date
和 java.time.Instant
之间的性能有什么大的差异。如果有的话,实际上 java.time 可能更快,因为它是完全线程安全的,因此您可以缓存和重用值而不是重新生成它们。
即使 java.time 类 被证明速度较慢,但它们的现代设计、使用的清晰度和结果的正确性 远 比一些次要速度更重要区别。
任何声称存在性能问题的人都应该使用示例代码进行演示。俗话说,“要么忍,要么闭嘴”。