【发布时间】:2011-09-06 01:06:44
【问题描述】:
我选择了这个将 BitSet 转换为 Byte 数组的示例。
public static byte[] toByteArray(BitSet bits) {
byte[] bytes = new byte[bits.length()/8+1];
for (int i=0; i<bits.length(); i++) {
if (bits.get(i)) {
bytes[bytes.length-i/8-1] |= 1<<(i%8);
}
}
return bytes;
}
但在论坛中,我已经看到,通过这种方法,我们不会得到所有位,因为每次计算都会丢失一位。这是真的?我们需要修改上面的方法吗?
【问题讨论】:
-
链接exampledepot.com/egs/java.util/Bits2Array.html已过期,你还记得那个例子吗?