Я всегда думал, что следующее должно работать. Я получаю объект, который, как я знаю, Class<X>
, где 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 он не работает, единственное решение, которое я вижу, - это неконтролируемый отбор. Я бы сказал, что вышеприведенный код должен работать, я уже использовал что-то вроде этого... не знаю, что здесь не так.