假设我定义以下内容:
object Numbers extends Enumeration {
val One = Value(1)
val Two = Value(2)
val Three = Value(3)
}
我希望能够存储此值(理想情况下为字符串,但 Int 可以(。假设我执行以下操作:
val x = Test.Two
val s = x.toString
val i = x.id
那么有没有办法恢复这个值呢?
val y = ??? // Restore from either s or i
你可以使用Name函数
object Numbers extends Enumeration {
val One = Value(1)
val Two = Value(2)
val Three = Value(3)
}
val name = Numbers.Two.toString
val restoredValue = Numbers.withName(name)
但如果值具有字符串类型,则无法正常工作...另一种方式是通过ID
val saved = Numbers.Two.id
val list = Numbers.values.toArray
val restored = list(saved)