考慮以下代碼:爲什麼Manifest在構造函數中不可用?
class Foo[T : Manifest](val id: String = manifest[T].erasure.getName)
我基本上要保存在富,這往往只是類名的標識符。
不需要特殊標識符的子類可以很容易地使用默認值。
但這並不甚至編譯,該錯誤信息是:
error: No Manifest available for T.
有另一種辦法,將工作?
編輯:
爲什麼如果清單是不可用,直到主構造這項工作?
class Foo[T: Manifest](val name: String) {
def this() = this(manifest[T].erasure.getName)
}
之前可用,但如果您使用'manifest [T]'而不是'隱式[Manife ST [T]]'。 –