我正在创建一个通用工厂,如下所示:
trait Factory[T] { def createInstance():T = new T() }
val dateFactory = new Factory[Date](){}
val myDate = dateFactory.createInstance()
'new T()' 不会编译,因为 T 在运行时之前是未定义的。我知道我可以通过将类的实例传递给某个方法来使其工作(即 createInstance(classOf[Date]) )
我在问是否有一些内省魔法可以取代'new T()',这样我就可以创建我的超级简单工厂?