169 похожих чатов

Кто может объяснить? У меня есть интерфейс для модели и сам

класс модели. В ней находится Arraylist.
Как мне его записать: 'ArrayList<Interface> list' или 'ArrayList<Model> list'?

10 ответов

13 просмотров

Первое. Лучше даже List<Interface> list

Иван-Calloop Автор вопроса
Viktor Krasikov
Первое. Лучше даже List<Interface> list

Спасибо. А про замену Arraylist на List - из-за той же ситуации, что первый реализует интерфейс второго?

Иван Calloop
Спасибо. А про замену Arraylist на List - из-за то...

Не из-за этого. Просто считается, что лучше для типов переменных использовать наиболее базовые сущности.

Иван-Calloop Автор вопроса
Viktor Krasikov
Не из-за этого. Просто считается, что лучше для ти...

Хм. А во всех примерах вижу только ArrayList, а в поисках ответов получается, что так "просто модно"

Иван Calloop
Хм. А во всех примерах вижу только ArrayList, а в ...

ArrayList вместо List нужно использовать, если какой-то метод будешь вызывать, которого нет в List

Иван Calloop
Понял, изучу их методы

Тут один наследуется от другого. Поэтому в ArrayList есть всё, что есть в List

Иван Calloop
Хм. А во всех примерах вижу только ArrayList, а в ...

Если параметр будет типа List, то тогда туда можно будет передавать любые объекты, реализующие List. Это может быть удобно. Если тип параметра ArrayList, то можно будет передать только объект типа ArrayList.

Похожие вопросы

Обсуждают сегодня

30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Карта сайта