在Scala中,在以下上下文中:
class MyClass[T] {
}
如何将T限制为具有无参数/默认构造函数的类? 感谢
答案 0 :(得分:1)
宁愿使用类型类方法,需要有一个无参数的工厂。
trait Factory[T] {
def create(): T
}
class Foo() {
}
object Foo {
// Define Factory instance for Foo
implicit val factory: Factory[Foo] = new Factory[T] {
def create() = new Foo()
}
}
class MyClass[T : Factory] {
// accept only T with Factory[T] available
}