Scala中没有提供一个枚举类型,但是标准库中提供了一个Enumeration
的抽象类,通过继承实现一个枚举。
例:
1 | object Color extends Enumeration { |
Value
是Enumeration
的内部类,调用它们可以返回一个对应的新实例,因此枚举的类型实际上为Color.Value
;- 这里增加一个别名,因而枚举的类型实际上变成了
Color.Color
这样的话,就可以如下方式使用:
1 | import Color.Color |
此外,Value
支持ID、名称,或者两个参数都传:
1 | val RED = Value(1, "RED") |
最后,可以通过ID或者名称来进行枚举类型的查找:
1 | Color(1) |