我想填充一个长的Java数组,以便它的所有位都设置为1。我发现相应的长值是-1,或“0xFFFFFFFFFFFFFFFFl”:
long l = -1L;
System.out.println(Long.toBinaryString(l));
"1111111111111111111111111111111111111111111111111111111111111111"
所以我用Arrays.fill()
1 填充数组:
final long allBitsOn = -1L;
long[] bits = new long[arrayLength];
Arrays.fill(bits, allBitsOn);
这个数组是一个主要项目的基础架构,我想完全确定 long 有 64 位,并且long(-1)
在所有 VM 实现和 Java 的未来版本中,它的所有位总是设置为 1。
这个假设安全吗?