因此,根据
this question,有两种方法可以查看BitSet的大小.
> size(),这是遗留的,并没有真正有用.我同意这一点.做完后大小为64:
BitSet b = new BitSet(8);
> length(),返回最高设置位的索引.在上面的示例中,length()将返回0.这有点有用,但是如果您有前导零,则不能准确反映BitSet应该表示的位数.
我正在处理的信息很少(如果有的话)均匀地落入8位字节,而前导0对我来说和1s一样重要.我有一些333位长的数据字段,有些是20位,等等.
有没有更好的方法来处理Java中的位级细节,以跟踪前导零?否则,我将不得不’滚动自己’,可以这么说.我已经有了一些想法,但如果可能的话,我宁愿不重新发明轮子.
最佳答案 我有同样的问题,我没有找到内置的解决方案,但做一些改变并不是那么昂贵.
public class MyBitSet extends BitSet {
int realSize;
public MyBitSet(int realsize) {
// TODO Auto-generated constructor stub
super(realsize);
this.realSize=realsize;
}
public int realSize()
{
return this.realSize;
}
}