Lar*_*mbo -1 java arrays byte boolean
可能重复:
在Java中将字节转换为长度为4的布尔数组
我目前正在学习java,并制作游戏.我已经遇到了这种情况,我需要为游戏制作一些测试数据.
我使用2D数组(游戏地图)中的切片,每个切片需要四个布尔值.因此,而不是写在真或假地砖,我想用一个简单的字节,写在二进制.
示例:"0b0110"而不是"false,true,true,false"
所以我需要一种方法将我的二进制写入字节转换为布尔数组.
你可以这样做:
byte b = 0b0110;
boolean [] flags = new boolean[4];
for (int i = 0; i < 4; ++i) {
flags[i] = (b & (1 << i)) != 0;
}
Run Code Online (Sandbox Code Playgroud)
走另一条路:
boolean [] flags = {false, true, true, false};
byte b = 0;
for (int i = 0; i < 4; ++i) {
if (flags[i]) b |= (1 << i);
}
Run Code Online (Sandbox Code Playgroud)
我建议使用byte和boolean原语,除非你需要将它们包装起来Byte并Boolean出于其他原因.
| 归档时间: |
|
| 查看次数: |
2964 次 |
| 最近记录: |