痛々しいほど明白な何かが欠けていますか?それとも、世界中の誰も実際にjava.util.BitSetを使用していませんか?
次のテストは失敗します。
@Test
public void testBitSet() throws Exception {
BitSet b = new BitSet();
b.set(0, true);
b.set(1, false);
assertEquals(2, b.length());
}
長さが2で値が10のBitSetになっていない理由は、私にはよくわかりません。java.util.BitSetのソースを調べたところ、ちょっと調べてみると、ビットを十分に区別できないようです。これはfalseに設定されており、ビットはどの値にも設定されていません...
(コンストラクターでビットセットのサイズを明示的に設定しても効果がないことに注意してください。例:
BitSet b = new BitSet(2);