Java 布尔数组是否比相同大小的数字占用更多空间?

Java 布尔数组是否比相同大小的数字占用更多空间?,java,arrays,size,boolean,Java,Arrays,Size,Boolean,例如,大小为32的布尔数组会比整数变量占用更多空间吗?如果是的话,那么为什么要这样做,以及增加多少 澄清: 在java中(如果这是相关的,请原谅我-我不确定)。请问这一行: boolean arr=new boolean[32]; int num; 占用比此行更多的空间: boolean arr=new boolean[32]; int num; 在Java中,32booleans数组占用的空间大约是Javaint数组的八倍。这是因为在大多数计算机架构中,最小的可寻址内存单元是一个8位字

例如,大小为32的布尔数组会比整数变量占用更多空间吗?如果是的话,那么为什么要这样做,以及增加多少

澄清:

在java中(如果这是相关的,请原谅我-我不确定)。请问这一行:

boolean arr=new boolean[32];
int num;
占用比此行更多的空间:

boolean arr=new boolean[32];
int num;

在Java中,32
boolean
s数组占用的空间大约是Java
int
数组的八倍。这是因为在大多数计算机架构中,最小的可寻址内存单元是一个8位字节,因此制作一个“压缩”布尔数组需要额外的开销


如果您想使用每布尔一位,请使用类而不是布尔数组。请注意,除了数据本身,您还将获得一些开销,因此仅对32位使用此类数据结构可能不够经济,不足以证明从简单阵列切换到其他阵列是合理的。

谢谢!澄清一下:这是否意味着布尔变量需要8位数据,但只使用一位,而忽略其他7位?@user2705335正确,Java使用8位作为其布尔值。