[英]Java BitSet size() behavior
由於存在一個庫,我打算使用BitSet來操縱byte []中的位。
但是,似乎在從byte []創建BitSet之后,BitSet的最小大小為64,否則最終為零。 是否要求必須有8個字節? 同樣,等於零的byte []總是以零大小顯示。 我以為它仍然會輸出字節數組的大小?
即。
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());
我可能最終會寫出自己的函數,但我對為什么會這樣感到好奇。
謝謝!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.