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