java.lang.Class#newInstance for Type Parameterized Class w / Manifest

时间:2015-02-20 20:44:07

标签: scala

鉴于以下内容:

scala> trait Parent
trait Parent

scala> class Foo[A <: Parent](implicit m: scala.reflect.Manifest[A]) {}
defined class Foo

我创建了一个新实例。

scala> new Foo()
res1: Foo[Nothing] = Foo@226f1597

然后尝试Class#newInstance但没有成功。

scala> res1.getClass
res2: Class[_ <: Foo[Nothing]] = class Foo

scala> res1.getClass.newInstance
java.lang.InstantiationException: Foo
    at java.lang.Class.newInstance(Class.java:364)

对于manifest的班级,有没有办法使用Class#newInstance

(我问我的参数化类(带有清单)扩展akka.microkernel.Bootable,这需要一个无参数的构造函数。)

0 个答案:

没有答案