import java.util.EnumSet; public class EnumSetTest { enum BitFlag {ONE, TWO, THREE, FOUR, FIVE, SIX, SEVEN, EIGHT} private EnumSet bitSet; public EnumSetTest() { // 0000 0001 を表すビットパターン bitSet = EnumSet.of(BitFlag.ONE); checkIncluded(bitSet); // 0000 0011 を表すビットパターン bitSet = EnumSet.of(BitFlag.TWO, BitFlag.ONE); checkIncluded(bitSet); // 1001 1100 を表すビットパターン bitSet = EnumSet.of(BitFlag.EIGHT, BitFlag.FIVE, BitFlag.FOUR, BitFlag.THREE); checkIncluded(bitSet); // 0111 1000 を表すビットパターン bitSet = EnumSet.range(BitFlag.FOUR, BitFlag.SEVEN); checkIncluded(bitSet); // 1111 1111 を表すビットパターン bitSet = EnumSet.allOf(BitFlag.class); checkIncluded(bitSet); // 0000 0000 を表すビットパターン bitSet = EnumSet.noneOf(BitFlag.class); checkIncluded(bitSet); } public void checkIncluded(EnumSet bitSet) { System.out.println("BitSet: " + bitSet); for (BitFlag pattern : BitFlag.values()) { System.out.println(pattern + " is included in BitSet: " + bitSet.contains(pattern)); } System.out.println(); } public static void main(String[] args) { new EnumSetTest(); } }