Обобщения в Scala - почему я не могу создать параметризованный объект внутри обобщенного класса? - PullRequest
5 голосов
/ 17 марта 2011

В настоящее время я изучаю скалу.
Почему этот код не работает:

class GenClass[T](var d : T) {
  var elems: List[T] = Nil 
  def dosom(x: T) = { 
    var y = new T() 
    y   
  }
}

Я получаю: ошибка: тип класса требуется, но T найден
вместо var y - новый T ()

Это потому что стирание шрифтов из java? Есть ли способ решить эту проблему - создать переменную типа T внутри обобщенной функции?

Ответы [ 2 ]

5 голосов
/ 17 марта 2011

посмотрите на этот вопрос, есть пример фабрики: Как создать экземпляр типа, представленного параметром типа в Scala

2 голосов
/ 17 марта 2011

Поскольку вы не можете быть уверены, что всегда есть открытый конструктор без параметров.

...