Использование List<Object>
будет работать, но вы, возможно, захотите сохранить ваши более точные набранные List<Object1>
и List<Object2>
для обеспечения безопасности типов в других местах.В этом случае вам необходимо проверить тип каждого объекта перед добавлением его в List
.
private void parseObjectsToList(String tag, List<T> list, Class<? extends T> c) {
// read Xml and create object using reflection
Object newObj = createObjectFromXml(tag);
list.add(c.cast(newObj)) ;
}
Операция cast()
является отражающим эквивалентом оператора статического приведения: (T) newObj
Использование измененного метода будет выглядеть примерно так:
parseObjectsToList("XmlElement1", objectOnes, Object1.class);