Grundsätzlich teilen sich alle Mengen das einzige Array aller möglichen Aufzählungswerte und die einzige andere Information ist eine Bitmaske, die im Fall von allOf auf einen Schlag gesetzt wird.
Andererseits scheint Enum.values() eine zu sein ein bisschen schwarze Magie. Darüber hinaus gibt es ein Array zurück, keine Sammlung, daher muss es in vielen Fällen mit Arrays.asList( ) dekoriert werden, um an jedem Ort verwendet werden zu können, der eine Sammlung erwartet.
Sollte EnumSet.allOf Enum.values vorzuziehen sein?
Genauer gesagt, welche Form des for-Iterators sollte verwendet werden:
Code: Select all
for ( final MyEnum val: MyEnum.values( ) );
Code: Select all
for ( final MyEnum val: EnumSet.allOf( MyEnum.class ) );
Mobile version