Я пытался написать код, который выглядит так:
public List<IObject> getObject(){
ArrayList<ConcreteObject> objects = new ArrayList<ConcreteObject>();
return objects;
}
(где ConcreteObject реализует IObject)
Это не работает вообще. Это дает ошибку компилятора. Планирует ли Java поддерживать это в будущем? Какое лучшее обходное решение до этого? То, что я закончил, было:
public List<IObject> getObject(){
List<IObject> objects = new ArrayList<IObject>();
return objects;
}
Это работает, и, возможно, на самом деле нет никаких плохих побочных эффектов для этого. Является ли это общепринятым наилучшим подходом?