生成一个大小为1位的Java布尔值

生成一个大小为1位的Java布尔值,java,memory,boolean,Java,Memory,Boolean,我正在写一个需要速度和低内存开销的程序。在其中,我必须制作一个二维布尔数组,它可能会变得非常大 在Java中,我知道布尔值是字符的“覆盖”,所以它占用一个字节 有没有办法制作一个布尔数组,每个布尔数组只有1位,这是技术上需要的存储空间。谢谢 您要找的是一个小字段。Java不支持位字段。 基本上,在C/C++中,编译器添加了位处理(1,正如前面所提到的,您可以将原语用作位数组。这不是直接处理的,但至少它减少了存储的数据量 借助我在这里找到的方法convertToBinary的魔力: 我们可以很容易

我正在写一个需要速度和低内存开销的程序。在其中,我必须制作一个二维布尔数组,它可能会变得非常大

在Java中,我知道布尔值是字符的“覆盖”,所以它占用一个字节


有没有办法制作一个布尔数组,每个布尔数组只有1位,这是技术上需要的存储空间。谢谢

您要找的是一个小字段。Java不支持位字段。
基本上,在C/C++中,编译器添加了位处理(1,正如前面所提到的,您可以将原语用作位数组。这不是直接处理的,但至少它减少了存储的数据量

借助我在这里找到的方法convertToBinary的魔力: 我们可以很容易地处理这些数字

e、 g

输出:

[true, false, true, false, true, false, true, false, true, false, true, false, true, false, true, false, true, false, true, false, true, false, true, false, true, false, true, false, true, false, true]
[真,假,真,假,真,假,真,假,真,假,真,假,真,假,真,假,真,假,真,假,真,假,真,假,真,假,假,真] [真,假,真,假,真,假,真,假,真,假,真,假,真,假,真,假,真,假,真,假,真,假,真,假,真,假,假,真]


希望有帮助。

使用。他关心优化,位集不是有点多吗?请参阅:位操作通常比字节操作慢。因此,您必须在“速度”(无论您的意思是什么)和“低”内存开销(无论您的意思是什么)之间进行选择,但在这种情况下,你可能不能两者兼得。你应该告诉我们“非常大”有多大。“非常”不是一个工程概念。在它上面加上一个数字。
我正在编写一个程序,它需要速度和低内存开销。
我想知道是什么让你选择Java。:)是的,Java附带了,位处理是否适合你,每个
boolean
占用大约一位空间,并且运行良好。
[true, false, true, false, true, false, true, false, true, false, true, false, true, false, true, false, true, false, true, false, true, false, true, false, true, false, true, false, true, false, true]