Я искал javadoc из списка, чтобы найти способ, который позволяет заменять элемент (set (int, E)), и я увидел, что этот метод является «необязательным». Я искал какое-то время и нашел этот другой question с отличным ответом от Лоуренса Гонсалвеса.Работа со списком «Дополнительная операция»
Но у меня все еще есть вопрос, до сих пор каждый раз, когда я использовал какой-либо интерфейс, я никогда не ожидал, что реализация может вызвать исключение во время выполнения (если я не использовал его неправильно или если это была ошибка в коде реализации), хотя У меня было исключение, когда я случайно попытался добавить элементы в неизменный список, я не понял, что происходит.
Мой вопрос: если у меня есть метод API, который имеет параметр List (или какой-либо другой интерфейс), который должен вызывать «дополнительные» операции над этим объектом, как мне следует продолжить?
- Следует ли избегать использования списка и использовать некоторую реализацию в качестве параметра?
- Должен ли я сделать защитную копию списка, изменить его и вернуть, что список? (Это может изменить реализацию, используемый клиентом API)
Я знаю, что нужно изменить список полученных в качестве параметра в методе сомнителен, но может потребоваться
Hi Jarrod. Я считаю, что это не дублирующий вопрос, я не спрашиваю, почему операция является необязательной, я спрашиваю, как с этим бороться. Я связал другой вопрос в своем собственном вопросе, который объясняет, почему он является факультативным, и, как я сказал в вопросе, я его прочитал ... –