2017-01-16 126 views
0

在我的项目中,我使用java.util.Calendar。他们一直为我工作得很好。他们尚未弃用。因此,我没有必要在我的代码中将java.util.Calendar更改为java.time.LocalDatejava.time.LocalDate有很多好的功能。我需要知道java.util.Calendar是否有一些性能问题已在java.time.LocalDate中得到解决,因此我应该将java.util.Calendar更改为java.time.LocalDate以获得更高的性能。java.time.LocalDate比java.util.Calendar更好吗?

+0

这不是性能问题,而是易用性问题。 'java.util.Date'不易使用,并且以各种方式存在缺陷,例如1)它是可更新的*(尽管没有人真正更新它们)*,2)没有仅限于日期的版本,3)时区处理容易混淆并且容易出错等。---您应该开始使用新功能的java.time类。任何性能差异都不会对您的计划产生影响。 --- *当心过早优化:*解决性能问题时,即证明在那里,而不是当你认为你可能有一个。 – Andreas

+0

我不认为你应该担心性能,当你写在Java中,特别是对于本机/核心代码 – deathangel908

+0

太广泛和不清楚。而且,即使是基于性能,两者之间的比较代码的信息也较少。并且问题中提出的优秀特征也没有说明。 – nullpointer

回答

0

如果您担心性能,应该已经为您的代码使用java.util.Calendar已经有了性能测试和基准测试。运行这些测试并记下时间和资源利用率。

将至少某些类别转换为java.time.LocalDate,然后再次运行相同的基准测试。性能是否提高或降低?

这两种选择之间可能存在一些总体趋势,其中一种表现优于另一种。真正重要的是你的代码如何执行。如果它使用其中一个更好,那么这就是你应该使用的。