布尔值字节

boolean Vs. byte

这是一个非常简单的问题,也许是一个毫无价值的问题:以下两个中的哪个会占用更多内存?

boolean[][] var = new boolean[32768][32768];

byte[][] var = new byte[32768][32768];

我听说在这两种情况下,java 都将每条数据存储在它自己的 byte 中。那么哪个效率更高呢?是否可以以某种方式将 long 值视为 boolean 数组?

来自Primitive Data Types

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.

但是,在 Oracle JVM 中,它使用每位 1 个字节,因此内存大小和效率是相同的。

如果您想使用一位一位,我建议使用 BitSet。

Is it possible to somehow treat a long value as a boolean array?

是的,虽然我无法想象你为什么想要。