我使用的是位集合類我的程序。 我需要一個inline聲明,如:的Java位集合初始化
BitSet bits1 = new BitSet(); //standard declaration
bits1.set(0,2);
bits1.set(4,6);
System.out.println(bits1); //110011
BitSet bits2 = BitSet.valueOf(new long[] {1,1,0,0,1,1}); //inline
System.out.println(bits2);
有了這個代碼,我試圖複製相同的位集合是在BITS1,在BITS2。 問題如下:打印和值是不同的。 位集我設置是110011.第一個打印出{0,1,4,5},它是正確的,因爲這是「好」的方式與索引打印位集合,第二個打印出{0,64 ,256,320}。 正如你所看到的第二個錯誤。我很確定內聯初始化是錯誤的,但我無法弄清楚如何解決這個問題。
「長」有64位。如果你想使用'long []'構造函數,你需要將這些位打包在一起。 –