如何在Scala中构建动态EnumCreator?
class EnumCreater{
def create[T <: Enum[_]](clazz :Class[T],input:String):T = Enum.valueOf(clazz,input)
}
sclac编译器报告:
error: inferred type arguments [T] do not conform to method valueOf's type parameter bounds [T <: java.lang.Enum[T]]
我试过asInstanceOf来解决这个问题,它不起作用。那我该怎么办?
答案 0 :(得分:1)
为了使其编译,您需要将_
替换为T
def create[T <: Enum[T]](clazz: Class[T], input: String): T =
Enum.valueOf(clazz, input)