idb*_*ley 8 java datetime java-time
Java 8引入了java.time.Clock接口,它应该允许我有效地模拟系统时间调用(太棒了!).
我想天真地替换调用System.currentTimeMillis()
与调用someClock.millis()
,但目前尚不清楚,我认为这两个时钟实际上将根据给定的caviet所有情况下返回相同的价值观Clock.system*
,他们使用"的状态文档...最好的系统时钟". System.currentTimeMillis()
没有说明使用最佳可用时钟的任何类似声明.
嗯,不,你不能保证它会完全相同,因为
系统工厂方法根据最佳可用系统时钟提供时钟。这可以使用 System.currentTimeMillis() 或更高分辨率的时钟(如果可用)
因此它明确指出它可能会使用更好的时钟,这意味着它绝对可能会有所不同。
即使您分析所有现有的实现并发现它们都在使用,System.currentTimeMillis()
您也明确不能保证事情会保持这种状态,因此依赖它是无效的。
这是否足够接近您的目的实际上取决于您的应用程序和个人喜好。
归档时间: |
|
查看次数: |
3378 次 |
最近记录: |