结合 Java EnumSets

2022-09-03 05:11:01

如果我有一个枚举,我可以使用方便的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);

给出两个枚举集,我如何创建一个包含这两个集合的并集的新枚举集?

EnumSet<Suit> redAndBlack = ?


答案 1

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

EnumSet<Suit> redAndBlack = EnumSet.copyOf(reds);
redAndBlack.addAll(blacks);

答案 2

在这种情况下,您还可以使用

EnumSet<Suit> redAndBlack = EnumSet.allOf(Suit.class)

推荐