Это возможно ли создать объект класса исключительно из универсального параметра? Например:
class myclass[T] {
def something(): Class[_ <: T] =
classOf[T] //this doesn't work
}
Поскольку тип будет удален во время выполнения, похоже, что это задание для манифестов, но я не нашел примера, демонстрирующего это конкретное использование. Я пробовал следующее, но это тоже не сработало:
class myclass[T] {
def something()(implicit m: Manifest[T]): Class[_ <: T] =
m.erasure //this doesn't work
}
Я подозреваю, что эта ошибка связана с тем, что, как указывает API, нет отношения подтипов между типами m.erasure
. результат и T
.
РЕДАКТИРОВАТЬ: Меня не очень интересует, что такое тип T
, мне просто нужен объект типа Class [_ <: T]
для передачи методу в фреймворк hadoop.
Есть указатели?