У меня есть общий метод, который имеет тип общего типа T
, который является подклассом MyClass
. Внутри этого метода я хочу создать новый экземпляр T
, как я могу это сделать?Необычный конкретный класс общий метод в scala
Это не работает (из-за типа стирания):
object Demo extends App {
def myMethod[T <: MyClass](): Unit = {
val t = new T // gives error: class type required by T found
}
myMethod[MySubclassA]()
}
abstract class MyClass
class MySubclassA extends MyClass
class MySubclassB extends MyClass
Пропустив неявный аргумент вы имеете в виду: определение функции MyMethod [T <: MyClass]() (неявный т: Т) ' – Samar
Нет, я добавил код, чтобы показать, что я имел в виду. –