首页 > 解决方案 > 如何在 Scala 中定义具有特定数值的枚举

问题描述

如何在 Scala 中定义具有特定数值的枚举并能够从类型中获取值列表?

如果我使用如下类型定义枚举Enumeration

object MyEnum extends Enumeration {

  type MyEnum = Value

  val A: Byte = -10

  val B: Byte = 0

  val C: Byte = 10
}

并尝试获取如下值:

val byteValues = MyEnum.values.toList.map(_.id.toByte)

然后我得到一个空序列。

标签: scalaenums

解决方案


定义枚举的正确方法是:

object MyEnum extends Enumeration {

  type MyEnum = Value

  val A = Value(-10)

  val B = Value(0)

  val C = Value(10)
}

然后获取值有效。


推荐阅读