16

Enum がある場合は、便利な 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);

2 つの EnumSet を指定すると、これらの両方のセットの和集合を含む新しい EnumSet を作成するにはどうすればよいですか?

EnumSet<Suit> redAndBlack = ?

4

3 に答える 3

25

EnumSet もコレクションであるため、addAll などの多くのコレクション API 呼び出しも使用できます。

EnumSet<Suit> redAndBlack = EnumSet.copyOf(reds);
redAndBlack.addAll(blacks);
于 2010-09-07T11:38:01.013 に答える
3

この場合、使用することもできます

EnumSet<Suit> redAndBlack = EnumSet.allOf(Suit.class)
于 2012-08-24T15:14:07.543 に答える