Scala将字符串转换为具有值的枚举

Scala将字符串转换为具有值的枚举,scala,enums,Scala,Enums,我开始学习scala,我没有什么问题。我想将字符串值转换为枚举,但出现错误找不到“TEST”的值。我犯了什么错误 object Function1 extends Enumeration { val TEST = Value("1") val TES = Value("2") val TE = Value("3") } println(Function1 withName "TEST") 您应使用以下其中一种: println(Function1.TEST) 或

我开始学习scala,我没有什么问题。我想将字符串值转换为枚举,但出现错误
找不到“TEST”的值
。我犯了什么错误

object Function1 extends Enumeration {
    val TEST = Value("1")
    val TES = Value("2")
    val TE = Value("3")
  }
 println(Function1 withName "TEST")

您应使用以下其中一种:

println(Function1.TEST)


您误解了
枚举
名称
枚举
中的名称实际上是
的参数,因为您的示例应该是1

/**创建一个名为
name
的新值(此枚举的一部分)

@param name该值的可读名称

@返回名为
name
的新值

值(名称:字符串):值=值(nextId,名称)

对于带有名称的
定义:

从该
枚举返回一个
,该值的名称与 参数
s
。名称通过反射自动确定


谢谢你的回答。我认为它的工作有点不同。是否可以像在java中一样为每个枚举创建函数?感谢您的回答,是否可以像在java中一样使用函数创建枚举?您可以使用
trait
case对象
来模拟java的
enum
println(Function1.withName("1"))