更改scala枚举ID

时间:2016-03-03 17:25:16

标签: scala enums

我想创建enum类型,value可以更改。 请考虑以下事项:

object Type extends Enumeration
{
  var a = Value(0, "some string1")
  val b = Value(1, "some string2")
  val c = Value(2, "some string3")
}

我为每个enum字段添加了value,但我希望可以选择更改此value。 另一个是我正在从某个表中读取values,所以enum具有相同的值,它是一个选项。 有可能吗?

1 个答案:

答案 0 :(得分:1)

按照通常的说法,枚举不是可变的东西。这些元素在编译时枚举为类型安全常量。

此外,Enumeration相对脆弱。

scala> object X extends Enumeration { var x = Value(0, "a") ; def f() = x = Value(1, "b") }
defined object X

scala> X.x
res1: X.Value = a

scala> X.f()

scala> X.x
res3: X.Value = b

scala> X.values
res4: X.ValueSet = X.ValueSet(a, b)