Есть ли планы для ImmutableEnumSet в Java 7? - PullRequest
25 голосов
/ 31 августа 2010

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

Ответы [ 2 ]

29 голосов
/ 31 августа 2010
11 голосов
/ 31 августа 2010

Что не так с Collections.unmodifiableSet() обёртыванием EnumSet?

Правда, оригинал EnumSet всё ещё изменчив, но пока вы отбрасываете исходную ссылку, он так же хорош, как и неизменный внутри обёртки.

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

...