25

私は EnumSet のすべての効率性を持ち、誰かが変更することを心配せずにそれを渡したいと思っています。

4

2 に答える 2

29

Google コレクション (Guava) で不変の EnumSet を取得できます。


資力 :

于 2010-08-30T20:05:16.933 に答える
12

Collections.unmodifiableSet()をラップすることの何が問題になっていEnumSetますか?

確かに、オリジナルEnumSetは依然として変更可能ですが、オリジナルの参照を破棄する限り、ラッパー内では不変と同じです。

編集:わかりました。インターフェイスEnumSetの上と上にインスタンス メソッドを提供しないSetため、このソリューションを使用しない唯一の理由は、EnumSet型がドキュメントの目的に役立ち、Set. それ以外は、EnumSet動作が保持されます。

于 2010-08-30T20:05:11.817 に答える