Подтвердить что ты не робот

Есть ли планы по ImmutableEnumSet в Java 7?

Я хочу получить всю эффективность EnumSet и передать его, не беспокоясь о том, что кто-то изменит его.

4b9b3361

Ответ 2

Что случилось с Collections.unmodifiableSet() обертыванием EnumSet?

Правда, исходный EnumSet по-прежнему изменен, но до тех пор, пока вы отбрасываете исходную ссылку, она не должна быть неизменной внутри обертки.

изменить: ОК, поскольку EnumSet не предлагает каких-либо методов экземпляра поверх интерфейса Set, единственная причина, по которой не использовать это решение, заключается в том, что тип EnumSet полезно для целей документации, и вы теряете это при обертке в Set. Кроме того, поведение EnumSet будет сохранено.