2013-03-10 46 views
0

我該如何構建Scala中的動態EnumCreator?我該如何構建Scala中的動態枚舉

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要解決這個問題,這是行不通的。那我該怎麼辦?

回答

1

爲了使編譯您需要將_替換爲T

def create[T <: Enum[T]](clazz: Class[T], input: String): T = 
    Enum.valueOf(clazz, input)