结合Java EnumSets

Ale*_*ing 12 java enumset

如果我有一个枚举,我可以使用方便的EnumSet类创建一个EnumSet

enum Suit { CLUBS, DIAMONDS, HEARTS, SPADES }
EnumSet<Suit> reds = EnumSet.of(Suit.HEARTS, Suit.DIAMONDS);
EnumSet<Suit> blacks = EnumSet.of(Suit.CLUBS, Suit.SPADES);
Run Code Online (Sandbox Code Playgroud)

给两个EnumSets,我怎样才能创建一个包含这两个集的并集的新EnumSet?

EnumSet<Suit> redAndBlack = ?

tsc*_*ble 22

EnumSet也是一个集合,因此您也可以使用许多Collection API调用,例如addAll.

EnumSet<Suit> redAndBlack = EnumSet.copyOf(reds);
redAndBlack.addAll(blacks);
Run Code Online (Sandbox Code Playgroud)