Ho un EnumSet
e voglio convertire avanti e indietro da/verso una matrice di primitivi booleani. Se funziona meglio, potrei lavorare con un List
invece di un array e/o con gli oggetti Boolean
piuttosto che con i primitivi booleani.Conversione tra EnumSet e array di valori booleani
enum MyEnum { DOG, CAT, BIRD; }
EnumSet enumSet = EnumSet.of(MyEnum.DOG, MyEnum.CAT);
Quello che voglio ottenere su l'altra estremità è un array che assomiglia a questo:
[TRUE, TRUE, FALSE]
Questa questione è simile a questo, Convert an EnumSet to an array of integers. Differenze:
- booleane o
Boolean
rispetto a numeri interi (ovviamente) - voglio tutti i membri della enum di essere rappresentati, con un
TRUE
per ogni elemento enum incluso nelEnumSet
e unFALSE
per ogni elemento che viene esclusa dalEnumSet
. L'array di altre domande include solo gli elementi trovati nelloEnumSet
. (Cosa più importante)
Grazie. Ero curioso della sintassi fanatica lambda/streams ma è bello mostrare la sintassi vecchio stile, ma sicura. –
Mi sono preso la libertà di scrivere codice di esempio per andare nella direzione opposta, da array a EnumSet. Questo codice è basato su un mio codice di lavoro, ma modificato per corrispondere al tuo esempio qui. Quindi non sono al 100% se il mio codice pubblicato qui è corretto. –
@BasilBourque, che cos'è "QuarterHour"? – Andrew