有什么方法可以在 Scala 中动态实例化 Enumeration#Value 吗?
到目前为止,我有:
object Letter extends Enumeration {
val A,B,C = Value
}
// fieldType is of type Universe.Type for the field in my case class, which happens to
// be of type Letter.Value
val ftype = fieldType.typeSymbol.name.toString
val enumVal = "B" // a valid Enumeration.Value
val erasedEnumType = fieldType.asInstanceOf[TypeRef] // Letter
怎么办?在这种情况下,我试图达到一个值 Letter.B 的对象。
我在另一个帖子上看到了这个剪辑:
def create[T <: Enum[T]](clazz: Class[T], input: String): T = Enum.valueOf(clazz, input)
我无法完成这项工作,因为我在编译时没有“T”(我在运行时从输入字符串中解析这个值)。