gri*_*ldi 1 java arrays byte boolean primitive-types
我有一个8个布尔数组,我想简单地转换为一个字节.有一个简单的方法吗?或者我必须使用for循环?
我个人更喜欢一个简单的最多两行解决方案,如果它存在.
感谢帮助.
编辑:可能重复只是一个字节的布尔值,我有一个数组.
另一个编辑:我从一个udp数据包得到一个字节,然后我将第一个位(布尔值)设置为假,然后我需要再次得到一个字节.
我认为循环更好,但如果你必须有一个班轮:
byte b = (byte)((bool[0]?1<<7:0) + (bool[1]?1<<6:0) + (bool[2]?1<<5:0) +
(bool[3]?1<<4:0) + (bool[4]?1<<3:0) + (bool[5]?1<<2:0) +
(bool[6]?1<<1:0) + (bool[7]?1:0));
Run Code Online (Sandbox Code Playgroud)
输入:
boolean[] bool = new boolean[] {false,false,true,false,true,false,true,false};
Run Code Online (Sandbox Code Playgroud)
你得到字节42.