❓ Чем List.of() отличается от Collections.unmodifiableList()?
Оба не позволяют менять список через свой интерфейс, но гарантии разные.
List.of() (Java 9) создаёт по-настоящему неизменяемую коллекцию: компактное представление, запрет на null, любая попытка модификации — UnsupportedOperationException. Менять нечего и неоткуда.
Collections.unmodifiableList() создаёт лишь обёртку-представление над существующим списком. Сама обёртка менять не даёт, но если изменить оригинальный список, изменения будут видны через обёртку. То есть это «view только для чтения», а не неизменяемая копия.
🐸 Библиотека собеса по Java
#core
Post #1400
943
- 🔥 6
- 👍 5
- 👏 1