Ale*_*yak 25 java collections enums java-7
我想拥有EnumSet的所有效率并传递它,而不必担心有人会修改它.
Col*_*ert 29
您可以使用Google集合(Guava)获取不可变的EnumSet.
资源:
ska*_*man 12
Collections.unmodifiableSet()
包装有什么问题EnumSet
?
没错,原始版本EnumSet
仍然是可变的,但只要您丢弃原始引用,它就像包装器中的不可变一样好.
编辑:好的,因为EnumSet
除了Set
界面之外没有提供任何实例方法,不使用此解决方案的唯一原因是该EnumSet
类型对于文档目的很有用,并且在将其包装到文件中时会丢失Set
.除此之外,EnumSet
行为将被保留.