将 List<Boolean> 转换为 byte[ ] 数组

Convert List<Boolean> to byte [ ] array

我有一个布尔值列表,我想将其转换为 Byte [] arrays.I 尝试将 List 转换为 byte[] 数组,但我有一个 mistake.This 是我的代码

 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);
                       }
                   }
               }

我得到了所有布尔值并进行了检查,但我尝试对所有布尔值进行检查 false.Thanks 你的 helps.How 我可以将 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);
                       }
                   }
               }