В чём преимущество такой записи:
Collection collection = new ArrayList();
перед такой:
ArrayList collection = new ArrayList();
Ведь мы теряем уникальные методы ArrayList в 1-ом варианте?
Ответ
Ведь мы теряем уникальные методы ArrayList в 1-ом варианте?
Нет не теряете. В обоих вариантах вы создаете обьект ArrayList. Разница заключается в том, что используя 1-ый вариант вы можете делать так:
collection = new LinkedList();
collection = new HashSet();
и т.д (то есть, если в будущем Вы поймете что порядок элементов для Вас не важен и, следовательно, захотите использовать HashSet вместо ArrayList Вам нужно будет изменить меньше кода). Если говорить конкретнее, то в 1-ом варианте Вы указываете, что переменная с именем collection имеет тип Collection. Так как Collection это интерфейс, который реализовуют все коллекции, то Вы можете сослаться на любую коллекцию.
Комментариев нет:
Отправить комментарий