Ich habe eine EnumSet
und möchte hin und her zu/von einem Array von booleschen Primitiven konvertieren. Wenn es besser funktioniert, könnte ich mit einem List
anstelle eines Arrays und/oder Boolean
Objekte statt Boolean Primitiven arbeiten.Konvertieren zwischen EnumSet und Array von booleschen Werten
enum MyEnum { DOG, CAT, BIRD; }
EnumSet enumSet = EnumSet.of(MyEnum.DOG, MyEnum.CAT);
Was will ich am anderen Ende bekommen, ist ein Array, das wie folgt aussieht:
[TRUE, TRUE, FALSE]
Diese Frage ist hier ähnlich wie diese, Convert an EnumSet to an array of integers. Unterschiede:
- boolean oder
Boolean
im Vergleich zu ganzen Zahlen (natürlich) - Ich möchte alle Mitglieder der Enumeration mit einem
TRUE
dargestellt, werden für jedes Enum Element in derEnumSet
und einFALSE
für jedes Element enthalten, die ausgeschlossen ist von derEnumSet
. Das Array der anderen Frage enthält nur die Elemente, die in derEnumSet
gefunden werden. (Was noch wichtiger ist)
Dank. Ich war neugierig auf die schickere Lambda/Streams-Syntax, aber es ist gut, die einfache, aber sichere altmodische Syntax zu zeigen. –
Ich habe mir die Freiheit genommen, Beispielcode für die andere Richtung zu schreiben, von Array zu EnumSet. Dieser Code basiert auf etwas funktionierendem Code von mir, aber modifiziert, um Ihrem Beispiel hier zu entsprechen. Ich bin also nicht 100%, wenn mein hier veröffentlichter Code korrekt ist. –
@BasilBourque, was ist 'QuarterHour'? – Andrew