Чтобы убедиться, что метод не может изменить коллекцию, переданную как аргумент, ты должен преобразовать её в коллекцию только для чтения. Это предотвращает любые попытки изменить содержимое коллекции.
Используй метод Collections.unmodifiableCollection(Collection c), чтобы обернуть свою коллекцию:
Collection<?> readOnlyCollection = Collections.unmodifiableCollection(originalCollection);
Когда ты передаёшь неизменяемую коллекцию методу:
UnsupportedOperationExceptionОбёртка неизменяемости — это представление исходной коллекции. Если исходная коллекция будет изменена где-то ещё, эти изменения будут видны через это представление. Для настоящей неизменяемости рассмотри вариант с предварительным копированием коллекции.
Неизменяемая коллекция, созданная с помощью Collections.unmodifiableCollection(), выбросит UnsupportedOperationException при вызове любого метода модификации, такого как add() или remove().
Новый — ещё не проверен сообществом
Вы