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

时间:2017-10-04 12:09:26

标签: scala enums

我开始学习scala,我没什么问题。我想将字符串值转换为枚举,但发生错误No value found for "TEST"。我犯了什么错误?

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

2 个答案:

答案 0 :(得分:3)

您应该使用以下其中一项:

println(Function1.TEST)

println(Function1.withName("1"))

答案 1 :(得分:3)

您误解Enumeration名称Enumeration中的名称实际上是Value' s参数,对于您的示例应为 1

  

/ **创建一个新值,这是枚举的一部分,名为name

     

@param name该值的可读名称。

     

@return名为name的新鲜值。

     

Value(name:String):Value = Value(nextId,name)

withName定义:

  

从名称与其匹配的Value返回Enumeration   参数s。名称通过反射自动确定。