栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

推荐哪一个:Instant.now()。toEpochMilli()或System.currentTimeMillis()

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

推荐哪一个:Instant.now()。toEpochMilli()或System.currentTimeMillis()

两者都很好。除少数目的外,均不推荐使用。

从纪元开始,您需要几毫秒?

在Java中,我们可以通过多种方法来获取当前时间戳,

对于当前时间戳,请使用

Instant.now()
。无需转换为毫秒。

Java诞生之初的许多方法,以及标准库中的许多方法,都以

long
自纪元以来的毫秒数为单位。但是,今天我会考虑过时的。看看是否可以找到(或创建)或更现代的方法,例如以a
Instant
作为参数。面向对象,不要使用基本类型
long
。这将使您的代码更清晰,更容易解释。

正如Eliott Frisch在评论中说的那样,如果这是用于测量经过时间,则您可能更喜欢的高分辨率

System.nanoTime()

如果自纪元以来 确实 需要毫秒

假设您有充分的理由想要从纪元开始算起毫秒,…

推荐哪个:

Instant.now().toEpochMilli()
System.currentTimeMillis()
[?]

意见不同。有人会说您应该使用java.time(现代的日期和时间API)进行所有日期和时间工作。这意味着

Instant
在这里。联合国秘书长java.time通常是因为从Java
1.0和1.1的日期和时间类的好习惯(
Date
Calendar
TimeZone
DateFormat
SimpleDateFormat
等)的设计不当,现在早已过时的,肯定不是任何我们应该再使用。在另一方面,我不知道有任何设计问题的
System.curremtTimeMillis()
特别(除了我上面提到的有关使用
long
毫秒数可言,这显然是内在都
Instant.now().toEpochMilli()
System.currentTimeMillis()
)。

如果两者之间的性能差异不大,我很难想象这很重要的情况。

选择您认为在上下文中更具可读性且不那么令人惊讶的选项。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/570147.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号