操作步骤
Duration的几种创建方式
可以进行 加减乘除 的操作
java版Duration 与 Scala版Duration 互相转换
简单上手
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
import scala.concurrent.duration._
import scala.concurrent.ExecutionContext.Implicits.global
// FiniteDuration对象的创建
// 截至期限的创建
def main(args_q: Array[String]) {
val d1: FiniteDuration = 1. seconds
val d2: FiniteDuration = 2 seconds
val d3: FiniteDuration = d1 + d2
val d4: FiniteDuration = Duration.create(4, "second")
val d5: Deadline = d3.fromNow
println(d1 < d2) // 比大小
println(d3 - d2)
println(d3 * 2)
println(d3 / (1 millisecond))
import scala.compat.java8.DurationConverters._
val javaDuration: java.time.Duration = Duration.create(12, "second").toJava
val toScalaDuration: FiniteDuration = javaDuration.toScala
val f1: Future[String] = Future {
TimeUnit.SECONDS.sleep(2)
printMore()
"hello"
}
val str = Await.result(f1, 5 seconds)
println("done--main" + str)
}
def printMore(): Unit = {
println(new FiniteDuration(11, TimeUnit.SECONDS))
println(Duration.create(12, "second"))
println(Duration.create(12, "seconds"))
println(Duration.unapply("13second"))
println(Duration.unapply("13 seconds"))
println(Duration.Inf) // 无限大
println(Duration.Zero)
println(Duration.MinusInf) // 负无限
println(Duration.Undefined)
}
|
文章作者
duansheli
上次更新
2019-12-25
(47acd27)