Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java: Общие вопросы > Что можно присвоить переменной типа Class<T>?


Автор: Dims 19.12.2007, 20:24
Допустим, у меня есть класс T и я определяю переменную

Код

Class<T> a;


Смогу ли я положить в эту переменную класс, являющийся наследником T или нет?

Автор: Dims 19.12.2007, 20:43
Вроде проверил: присвоить можно только в точности T.class и больше ничего.

Автор: Shaggie 20.12.2007, 08:29
Чтобя иметь возможность присваивать этой переменной не только T.class, но и его наследников, используй конструкцию
Код

Class<? extends T> a;

http://java.sun.com/docs/books/tutorial/extra/generics/index.html находится подробный (англоязычный) туториал по дженерикам.

Автор: Dims 20.12.2007, 17:53
Ух ты! Круто! К сожалению, я уже вообще по другому сделал, спасибо за ссылку...

Добавлено через 46 секунд
А! Ссылку это я читал, конечно. Но про такое забыл smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)