Java 如何计算BitSet对象中的总位数?
我想计算Java 如何计算BitSet对象中的总位数?,java,bits,bitset,Java,Bits,Bitset,我想计算位集对象中的总位数。方法length返回位集的“逻辑大小”:位集中最高集位的索引加上一,而方法基数将给出对象中设置为1的位总数 我想计算位的总数,包括0和1。我该怎么做?怎么样?…演示如何将位集转换为二进制字符串。然后只需计算string.length()检测库中的getObjectSize(Object o)方法就是您的目标: 这上面有几个线程 干杯 size将返回此位集实际用于表示位值的空间位数。我想计算位数,而不是空间。@Saurabh:我认为位集不是为此而设计的;没有“最
位集
对象中的总位数。方法length
返回位集
的“逻辑大小”:位集中最高集位的索引加上一,而方法基数
将给出对象中设置为1的位总数
我想计算位的总数,包括0和1。我该怎么做?怎么样?…演示如何将位集转换为二进制字符串。然后只需计算string.length()
检测库中的getObjectSize(Object o)方法就是您的目标:
这上面有几个线程
干杯 size将返回此位集实际用于表示位值的空间位数。我想计算位数,而不是空间。@Saurabh:我认为
位集
不是为此而设计的;没有“最高”0的概念。我想从位集对象创建一个二进制表示,知道怎么做吗?@Saurabh位的数量和空间之间没有区别。为什么要标记下来?如果您认为它不正确/有误导性,请至少解释一下原因。@Disco 3:这就像计算字符串的长度一样,首先将其所有字符放入一个列表,然后将其还原,然后调用List.size()。完全没有效率。而且,链接的方法完全被破坏了,结果总是32。我错了。。。那里的方法只适用于int
,所以它没有被破坏,只是不适用于这个问题。效率低下(不必要的反向)和无用(参见Integer.toString(inti,intradix)
)。我认为这不值得向下投票。length
和size
之间的差异令人困惑,命名IMHO非常不合适,文档也很糟糕。