Frage

Ich möchte alle Effizienz von Enumset haben und es weitergeben, ohne sich Sorgen zu machen, dass jemand es ändern würde.

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top