Re: Добавление обьектов в массив
От: Blazkowicz Россия  
Дата: 25.02.10 16:07
Оценка:
Здравствуйте, PorcoRosso, Вы писали:

PR>Есть несколько классов, они связаны друг с другом в виде дерева.

PR>Т.е. например обьект класса A содержит коллекцию обьектов класса Б, а обьект класса Б содержит коллекцию обьектов Г и Д.
PR>Есть метод-помошник для заполнения коллекций. Он нужное количество раз в цикле обращается к функции, создающей обьект и добавляет его в коллекцию. Метод этот статический.
PR>Проблема вот в чем. Если в классе А определена коллекция ArrayList<Б>, то передать ее в метод-помошник я не могу — метод один, а коллекции для разных типов. Я могу передать туда эту коллекцию как ArrayList<? estends Object>. Но в этом случае при добавлении в коллекцию возникает ошибка "The method add(capture#3-of ? extends Object) in the type ArrayList<capture#3-of ? extends Object> is not applicable for the arguments (Object)".
PR>Как можно добавить в коллекцию элемент в этом случае?

По-моему надо не через wildcard делать, а через generic method. Но без кода сложно разобратся. Можно пример? Сходу правильно не напишу, то идея такая:
void <T> add(T element, List<T> list)
{
    list.add(element);
}
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.