Я всегда думал, что следующее должно работать. Я получаю объект, который, как мне известно, является Class
, где X
расширяет некоторый класс Xyz
. Чтобы сделать его типобезопасным, я хотел использовать Class. asSubclass, как в следующем методе:
private Class<? extends Xyz> castToXyzClass(Object o) {
final Class<?> resultClass = (Class<?>) o;
final Class<? extends Xyz> result = Xyz.class.asSubclass(resultClass);
return result;
}
Однако в Eclipse это не работает, единственное решение, которое я вижу, - это непроверенное приведение. Готов поспорить, что приведенный выше код должен работать, я уже использовал что-то подобное ... понятия не имею, что здесь не так.