Вопрос по generic
От: Аноним  
Дата: 04.11.11 05:22
Оценка:
Всем привет.
Подскажите как получить Class из List<? extends BaseClass>.
Заранее спасибо
Re: Вопрос по generic
От: elmal  
Дата: 04.11.11 06:58
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Всем привет.

А>Подскажите как получить Class из List<? extends BaseClass>.
А>Заранее спасибо
Если список не пустой то так:
list.iterator.next().getClass()
И по другому никак — в рантайме никакой информации о параметрах списка нет!
Re[2]: Вопрос по generic
От: Baudolino  
Дата: 04.11.11 07:47
Оценка:
E>list.iterator.next().getClass()
Таким образом вы можете получить конкретный класс A, такой что A extends BaseClass. А следующим элементом списка может быть объект класса B extends BaseClass.
Поэтому самое правильное в данной ситуации просто взять BaseClass.class.
Re: Вопрос по generic
От: Baudolino  
Дата: 04.11.11 07:49
Оценка: 1 (1)
А>Всем привет.
А>Подскажите как получить Class из List<? extends BaseClass>.
А>Заранее спасибо
Class<BaseClass> elementType = BaseClass.class;
Более точно узнать тип для данной сигнатуры можно, только если вы переберете все элементы списка и найдете ближайший общий суперкласс.
Re[2]: Вопрос по generic
От: Аноним  
Дата: 04.11.11 08:40
Оценка:
Здравствуйте, Baudolino, Вы писали:

А>>Всем привет.

А>>Подскажите как получить Class из List<? extends BaseClass>.
А>>Заранее спасибо
B>Class<BaseClass> elementType = BaseClass.class;
B>Более точно узнать тип для данной сигнатуры можно, только если вы переберете все элементы списка и найдете ближайший общий суперкласс.

Пасибо за совет
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.