3
我有下面的代碼的方法:創建接收類型參數,但不是作爲一個參數,就像classOf
class ServletSpec extends Specification {
def createServlet[T <: HttpServlet](clazz: Class[T]): T = {
val instance = clazz.newInstance()
instance.init()
instance
}
}
那個叫這樣的:
spec.createServlet(classOf[DocumentationServlet])
我如何定義這種方法,這樣我可以這樣調用:
spec.createServlet[DocumentationServlet]
不適用於我,manifest.erasure是Class [_]而不是Class [HttpServlet]。我在這裏錯過了什麼嗎? –
對不起,錯過了.asInstanceOf,請參閱val實例行 –
嗯,所以我必須將值轉換爲我想要的值,因爲清單並不是完全類型的?好的謝謝! –