Как я могу пропустить объект, который простирается от класса? я приведу пример: У меня есть абстрактный класс (AbstractDTO) и 2 класса, который проходит AbstractDTO:Java Generics extends Loop
public abstract class AbstractDTO
{
private int id;
/**
* @return the id
*/
public int getId()
{
return id;
}
/**
* @param id the id to set
*/
public void setId(int id)
{
this.id = id;
}
}
public class FirstDTO extends AbstractDTO
{
}
public class SecondDTO extends AbstractDTO
{
}
Теперь я получил метод, который excpects 2 Коллекции объектов, которые распространяются AbstractDTO. Я хочу добавить все объекты второго списка в первый список, если они уже не в первом списке. как я могу это сделать?
я попытался следующие:
public static void summarizeCollection(List<? extends AbstractDTO> firstList, Set<? extends AbstractDTO> secondList)
{
for(AbstractDTO second : secondList)
{
boolean exists = false;
for (AbstractDTO first : firstList)
{
if (second.getId() == first.getId())
{
exists = true;
}
}
if(!exists)
{
firstList.add(second);
}
}
}
Я получил сообщение об ошибке в строке "firstList.add (второй);" потому что мой второй объект имеет тип AbstractDTO, а не класс, который расширяет AbstractDTO.
Может ли кто-нибудь помочь мне в этом? Thx много;)