最近在复习java基础,看到八种基本数据类型的大小不禁疑问
Boolean类型为何没有准确的大小?
Java官网中这样描述:
boolean: The boolean data type has only two possible values: true and false. Use this data type for simple flags that track true/false conditions. This data type represents one bit of information, but its “size” isn’t something that’s precisely defined.
解释一下:
//布尔数据类型只有两个可能的值:true和false。
//将此数据类型用于跟踪真/假条件的简单标志。
//此数据类型表示一位信息,但其“大小”并没有精确的定义。原来如此...
//虽然定义了boolean这种数据类型,但是只对它提供了非常有限的支持。
//在Java虚拟机中没有任何供boolean值专用的字节码指令,
//Java语言表达式所操作的boolean值,
//在编译之后都使用Java虚拟机中的int数据类型来代替,
//而boolean数组将会被编码成Java虚拟机的byte数组,
//每个元素boolean元素占8位。
结论
这样我们可以得出:
boolean类型单独使用时占4个字节,
在数组中占1个字节。