Я хотел бы иметь такой метод, как
def retrieve[T](value: Option[T])(implicit ct: ClassTag[T]): T;
Внутри этого метода мне нужно вызвать метод Java (вне моего контроля), чтобы создать экземпляр T
, для которого требуется Class[T]
:
public <T> T construct(clazz: Class<T> /* other arguments */) { ... }
Как я могу получить Class[T]
от ClassTag[T]
? Сначала я думал, что могу использовать runtimeClass
из ClassTag
, но он имеет тип Class[_]
, а не Class[T]
. Или есть другое неявное значение, которое может автоматически предоставить компилятор, из которого я могу получить Class[T]
?