Вопрос

Если у меня есть enum, я могу создать наложение, используя класс Handy 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 = ?

Это было полезно?

Решение

Оценка также является коллекцией, поэтому вы можете использовать многие из коллекционных вызовов API, таких как Addall.

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

Другие советы

В этом случае вы также можете использовать

EnumSet<Suit> redAndBlack = EnumSet.allOf(Suit.class)
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top