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实例行 –
嗯,所以我必须将值转换为我想要的值,因为清单并不是完全类型的?好的谢谢! –