Generics и Class.asSubclass

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

13
задан Mark Peters 9 May 2011 в 16:16
поделиться