CodecUtils { public static boolean[] byte2Booleans(byte b) { boolean[] array = new boolean[8]; for (int i = 7; i >= 0; i--) { array[i] = (b & 1) == 1; b = (byte) (b >> 1); } return array; }  static byte[] intToBytes(int num); static int bytesToInt(byte[] ary); static byte[] short2bytes(short num); static byte[] copyOf(byte[] src, int length); static byte[] parseHigh4Low4Bytes(byte b); static byte buildHigh4Low4Bytes(byte high4, byte low4); static byte[] parseHigh2Low6Bytes(byte b); static byte buildHigh2Low6Bytes(byte high2, byte low6); static String byteToBits(byte b); static byte bitsToByte(String bits); static boolean startsWith(byte[] bs, byte[] head); static boolean[] byte2Booleans(byte b); static byte booleansToByte(boolean[] array); static String byte2hex(byte[] bytes); static byte[] hex2byte(String str); static boolean getBooleanFromByte(byte modifiers, int i); static byte setBooleanToByte(byte modifiers, int i, boolean bool); static void flatCopyTo(String prefix, Map<String, Object> sourceMap,
                                  Map<String, String> dstMap); static void treeCopyTo(String prefix, Map<String, String> sourceMap,
                                  Map<String, String> dstMap, boolean remove); static final Object[] EMPTY_OBJECT_ARRAY; static final Class<?>[] EMPTY_CLASS_ARRAY; }
@Test public void byte2Booleans() { Assert.assertEquals(0, CodecUtils.booleansToByte(null)); Assert.assertEquals(0, CodecUtils.booleansToByte(new boolean[0])); boolean[] bs = new boolean[] { false, true, false, true, false, true, false, true }; byte b = CodecUtils.booleansToByte(bs); Assert.assertEquals(85, b); boolean[] bs2 = CodecUtils.byte2Booleans(b); for (int i = 0; i < bs.length; i++) { Assert.assertEquals(bs[i], bs2[i]); } }