我是否遗漏了一些非常明显的事情?或者世界上没有人真正使用 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 的大小没有任何效果,例如:
BitSet b = new BitSet(2);
设置的最高位(如“设置为 1”)是位 0。因此长度应为 1。
See the JavaDoc 长度:
公共 int 长度()
返回此 BitSet 的“逻辑大小”:BitSet 中最高设置位的索引加一。如果 BitSet 不包含设置位,则返回零。
也许您正在寻找size尽管有可能higher如果位以特定分辨率分配(例如 16 位边界),那么会超过 2 个吗?
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)