我是否知道使用特定日期,月份和年份构建日期对象的最有效方法是什么.
Date(int year, int month, int day)
Run Code Online (Sandbox Code Playgroud)
此结构已折旧.因此,我通常做的是:
Calendar calendar = Calendar.getInstance();
Date date = calendar.set(year, month, date).getTime();
Run Code Online (Sandbox Code Playgroud)
但是,我的理解是Calendar.getInstance()相当昂贵.构造Date对象的最有效方法是什么?或者我应该静静地使用Date(int year,int month,int day)而不告诉其余的?
请不要建议使用任何第三方库.
hel*_*ios 19
有了这个,你可以避免不必要的"现在时间"实例创建.
Date coolDate = new GregorianCalendar(year, month, day).getTime();
Run Code Online (Sandbox Code Playgroud)
您可以检查GregorianCalendar javadoc以获取其他构造函数.你有日期+时间和时区.
无论如何,我同意Jon Skeet认为它不是那么昂贵.我同意你的看法,代码不需要默认的"现在"初始化.
"相当昂贵"有些模糊.你实际上已经尝试使用您提供的代码,它测量并发现它太昂贵?你是否有一个具体的想法,你需要这个操作有多便宜?
此外,您尚未指定要在其中Date表示值的时区.世界标准时间?默认时区?您希望它在一天中的什么时间 - 午夜或当前时间?您当前的代码将保留现有的时间 - 这真的是您想要的吗?
(正如我在评论中提到的,我强烈建议你转到Joda Time - 但即使你没有,你仍然应该在寻找解决方案之前检查你是否真的遇到了现有代码的问题. )
| 归档时间: |
|
| 查看次数: |
9913 次 |
| 最近记录: |