scala持续时间: "This class is not meant as a general purpose representation of time, it is optimized for the needs of scala.concurrent."

标签 scala time concurrency duration java-8

我正在阅读scala doc for the scala.concurrent.duration.Duration class,发现它的开头是:

This class is not meant as a general purpose representation of time, it is optimized for the needs of scala.concurrent.



为什么说这句话的含义?有什么更好的选择?

最佳答案

我想我对此负有部分责任。

这里的普遍问题是时间系统很难。真的,真的,真的很难。

致力于标准化 future 的Akka开发人员需要一种结构来描述两个“匿名”时间点之间的长度,以实现其功能。 Duration旨在解决此特定要求。

我担心的是,人们可能会开始使用这种与时间相关的类来处理某些事情,而该类并非旨在使我们陷入类似于java.util.Date/java.util.Calendar的麻烦情况(并非完全因为Duration实际上适用于其用例),在这种情况下,很多人误将其用作某种scala.time,这本来就不是。

这就是为什么它具有此注释并被打包为scala.concurrent.duration而不是e的原因。 G。 scala.time

我期待Java 8附带的java.time软件包。将来可能会对此进行标准化,这将稍微提高互操作性,并具有为更广泛的用例设计的额外好处。 (不过,Scala使用Java 8作为基线可能要花很长时间……)

关于scala持续时间: "This class is not meant as a general purpose representation of time, it is optimized for the needs of scala.concurrent.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18680220/

相关文章:

java - 使用 kilim 框架的真实 Java 应用程序

java - scala vs java,性能和内存?

Scala REPL ~20 秒启动——这正常吗?

swift - 到完整日期的毫秒数在我的时区返回错误的日期

windows - 在 Go 中将窗口刻度转换为 UNIX 时间戳

c# - 等待所有线程完成写入 ConcurrentDictionary

java - 如果一段代码没有在一定的时间限制内返回,如何在 Java 中导致一段代码超时?

java - Cassandra Spark 连接器 - NoSuchMethodError : scala. runtime.ObjectRef.zero()Lscala/runtime/ObjectRef

java - Scala 是否具有与 Haskell 的 Prelude.show 等效的功能?

r - R中的分钟和秒计算