1

Рекомендуется писать вместо

ArrayList<String> list = new ArrayList<>();

следующую реализацию:

List<String> list = new ArrayList<>();

Почему рекомендуется писать именно так? Какое в этом различие?

Qwertiy
  • 123,725
Топчик
  • 2,168
  • 2
  • 16
  • 36
  • 7
    Принято работать с интерфейсами, чтобы не ограничивать разработчика конкретной реализацией листа. Вот поэтому и объявляют переменную list типа List а реализация может быть какой угодно будь то ArrayList или LinkedList; Хотя не знаю это всего лишь мои мысли! – JVic Mar 20 '17 at 10:23
  • Для локальных переменных единственное и при этом сомнительное преимущество - экономия времени на набор символов List вместо ArrayList. А для полей, параметров методов и возвращаемых методами значений - да, "program to an interface". – Regent Mar 20 '17 at 12:10

0 Answers0