Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Scala:如何要求类型具有无参数构造函数_Scala - Fatal编程技术网

Scala:如何要求类型具有无参数构造函数

Scala:如何要求类型具有无参数构造函数,scala,Scala,在Scala中,在以下上下文中: class MyClass[T] { } 如何将T限制为具有无参数/默认构造函数的类? 感谢我们更愿意使用类型类方法,需要一个无参数的工厂 trait Factory[T] { def create(): T } class Foo() { } object Foo { // Define Factory instance for Foo implicit val factory: Factory[Foo] = new Factory[T] {

在Scala中,在以下上下文中:

class MyClass[T] {
}
如何将T限制为具有无参数/默认构造函数的类?
感谢我们更愿意使用类型类方法,需要一个无参数的工厂

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
}

@cchantep已经解释了标准的Scala方法,但直截了当地回答了这个问题:你不能。这似乎是一个错误。你为什么要这样做?谢谢。这不完全是我的想法,但肯定是实现这一目标的方法之一。