Java中布尔数组的大小是多少

Hil*_*lmi 7 java

据我所知,布尔大小为16字节{8为标头,1有效负载,*对齐8}

如果布尔变量是数组,需要多少钱?

我的参考

Tom*_*icz 6

你问的是Boolean对象还是boolean原始?对象的大小可能是 16 字节(尽管可能取决于实现),而boolean可能会消耗 4 字节(int隐式使用)。

因此boolean[]将消耗N * 4字节(其中N是数组的大小)+一些对象头。Boolean[]将消耗N * 16+ 标头(根据您对Boolean大小的假设。

话虽如此,请考虑编写您自己的类似数组的类并将 32 个布尔值合二为一int(您必须手动编写一些位操作),就像BitSet类所做的那样。

  • 数组具有“length”(int) 属性。 (2认同)