我正在创建一个具有固定位数的BitSet。 在这种情况下,保存二进制表示的String的长度为508个字符。Java BitSet尺寸大于nbits在构造函数中设置
所以我创建的BitSet方式如下:
BitSet bs = new BitSet(binary.length());
// binary.length() = 508
但看BS的大小,我总是得到一个尺寸的512我可以看到,总有以0值4位在所附结束。
也许有以下文件的一些误解:
位集合(INT NBITS)
创建一个位set它的初始大小足够大,以与所述索引范围明确地表示位0到nbits-1。
BitSet是否始终增大其大小以使其大小为2的幂或它为什么更大?
所以我不能依赖大小,如果我通过了另一个bitset?可能还会附加一些位,或者可能比“预计”更长? – Stefan
感谢您关注评论。 如果length()给我设置了最高位,这在任何情况下都是无效的。因为位置508上的“我的”最高位也可以是0.但是我现在明白了一点,必须考虑另外一种解决方法。谢谢。 – Stefan