Страницы

Поиск по вопросам

пятница, 29 марта 2019 г.

Параметры коллекций java

Встречаю различные варианты декларирования коллекций:
List list = new ArrayList(); //1
List list = new ArrayList(); // 2
List list = new ArrayList(); //3
И совершенно нет ясности, какие объекты в какую коллекцию можно положить. Экспериментально выяснил, что в коллекцию 2 - можно добавить объекты (Object). А в коллекцию 3 - только с типом Integer.
Вопрос 1: как понять по декларированию, какие объекты может содержать коллекция?
Вопрос 2: для каких прикладных задач можно использовать первый, второй и третий вариант декларирования коллекций?


Ответ

Параметр типа коллекции содержится в левой части, что написано в правой части значения не имеет
Таким образом, записи (1, 3) полностью идентичны:
List list = new ArrayList(); //1
List list = new ArrayList(); //3
Вы можете вписывать в правую часть параметр или не вписывать, как вам удобно. Компиляция (по ссылке выше) показала, что на время выполнения запись никак не влияет. Тогда как в выражении 2:
List list = new ArrayList(); //2
Тип не указан в левой части, значит тип - любой объект Object

Комментариев нет:

Отправить комментарий