egg*_*ant 1 java arrays bitset
由于存在库,我计划使用 BitSet 来操作 byte[] 中的位。
但是,似乎在从 byte[] 创建 BitSet 之后,BitSet 的最小大小为 64,否则最终为零。是否要求必须有 8 个字节?此外,等于零的 byte[] 将始终以零大小显示。我认为它仍然会输出字节数组的大小?
IE。
BitSet bs1 = BitSet.valueOf(new byte[] {0, 0, 0, 0, 0, 0, 1}); // bs1.size() == 64
BitSet bs2 = BitSet.valueOf(new byte[] {0, 0, 0, 0, 0, 0, 0, 1}); // bs2.size() == 64
BitSet bs3 = BitSet.valueOf(new byte[] {0, 0, 0, 0, 0, 0, 0, 0, 1}); // bs3.size() == 128
BitSet bs4 = BitSet.valueOf(new byte[] {0, 0, 0, 0, 0, 0, 0, 0, 0}); // bs4.size() == 0
System.out.print(bs1.size() + " " + bs2.size() + " " + bs3.size() + " " + bs4.size());
Run Code Online (Sandbox Code Playgroud)
我可能最终会编写自己的函数,但我很好奇为什么会发生这种情况。
谢谢!
| 归档时间: |
|
| 查看次数: |
170 次 |
| 最近记录: |