5
我是用如下创建一个通用的工厂打:在没有示例实例的情况下,scala中是否有方法来生成一个通用实例?
trait Factory[T] { def createInstance():T = new T() }
val dateFactory = new Factory[Date](){}
val myDate = dateFactory.createInstance()
“新T()”不能编译,因为T是不确定的,直到运行时。我知道我可以通过在类的实例中传递一些方法来实现它(例如createInstance(classOf [Date]))
我在问是否有一些内省魔法可以替代'new T ()“,以便我可以创建我的超级简单工厂?
我打算把这个优秀的答案作为一个线索,它不能用一个特质来完成。 – 2010-08-21 05:20:50
对不起,我应该指出的。 “特征不能有带上下文边界的类型参数”(编译器) – 2010-08-21 05:48:47