Если вы хотите сохранить массив объектов типа MyInterface
, являются ли следующие приемлемыми, и если да, то когда вы использовали бы вторую форму над первым?
i) Использование только интерфейса: -
List<MyInterface> mylist = new ArrayList<MyInterface>();
ii) Использование общего шаблона: -
List<? extends MyInterface> mylist = new ArrayList<? extends MyInterface>();
Edit:
Как уже указывали ответы, номер ii не будет компилироваться. В чем разница между я и случаем iii, где: -
iii) Использование общего шаблона только в ссылке: -
List<? extends MyInterface> mylist = new ArrayList<MyInterface>();