BitSet 如何接受长度为 6 的长数组?

How BitSet admit long array with length 6?

BitSet 内部使用大小为 6 的长数组。

但它可以包含 2^31-1 位。

长 = 64 位

6 多头 = 64 * 6。但远小于 2^31-1。请解释一下这个技巧。

存储值的内部数组会在必要时扩展,就像 ArrayList 对对象所做的那样。因此,您的说法是错误的。

大小有2^31-1(位)的硬性限制,但这只是因为操作(setflip等)将索引参数作为一个 int。对于大多数用例来说,这可能足够大了。