我有一个 boolean 值列表,我想将其转换为 Byte [] 数组。我尝试将 List 转换为 byte[] 数组,但我出错了。这是我的代码
List<Boolean> list = model.getBooleanData();
boolean[] inputSleep = new boolean[list.size()];
byte[] toReturn = new byte[inputSleep.length / 8];
for (int entry = 0; entry < toReturn.length; entry++) {
for (int bit = 0; bit < 8; bit++) {
if (inputSleep[entry * 8 + bit]) {
toReturn[entry] |= (128 >> bit);
}
}
}
我得到了所有 boolean 值并进行了检查,但我尝试将所有 boolean 值设置为 false。谢谢您的帮助。如何正确地将 List 转换为 byte[] 数组?
最佳答案
是的,谢谢你们,我解决了问题。 这是正确的代码。也许这个解决方案需要有人)
List<Boolean> list = model.getBooleanData();
Boolean[] inputSleep = new Boolean[list.size()];
inputSleep = list.toArray(inputSleep);
byte[] toReturn = new byte[inputSleep.length / 8];
for (int entry = 0; entry < toReturn.length; entry++) {
for (int bit = 0; bit < 8; bit++) {
if (inputSleep[entry * 8 + bit]) {
toReturn[entry] |= (128 >> bit);
}
}
}
关于java - 将 List<Boolean> 转换为 byte[ ] 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49829722/