Gibt es Pläne für Unterablesenumset in Java 7?
-
25-09-2019 - |
Frage
Ich möchte alle Effizienz von Enumset haben und es weitergeben, ohne sich Sorgen zu machen, dass jemand es ändern würde.
Lösung
Sie können mit Google Collections (Guava) eine unveränderliche Aufzählung erhalten.
Ressourcen:
Andere Tipps
Was ist falsch mit Collections.unmodifiableSet()
wickeln an EnumSet
?
Richtig, das Original EnumSet
ist immer noch veränderlich, aber solange Sie die ursprüngliche Referenz wegwerfen, ist es in der Wrapper so gut wie unveränderlich.
bearbeiten: Ok, seit EnumSet
Bietet keine Instanzmethoden über die Set
Schnittstelle, der einzige Grund, diese Lösung nicht zu verwenden EnumSet
Typ ist für Dokumentationszwecke nützlich, und Sie verlieren das, wenn Sie es in a einwickeln Set
. Anders als das, EnumSet
Verhalten wird erhalten.