整数与字节数组相互转化

public class ByteUytils {

    public static byte[] int2ByteArray(int i) {
        byte[] result = new byte[4]; //int是4字节
        result[0] = (byte)((i >>24) & 0xff);
        result[1] = (byte)((i >> 16) & 0xff);
        result[2] = (byte)((i >> 8) & 0xff);
        result[3] = (byte)( i & 0xff);
        return result;
    }

    public static int byteArray2Int(byte[] bytes) {
        int num = bytes[3] & 0xff;
        num |= ((bytes[2] << 8) & 0xff00);
        num |= ((bytes[1] << 16) & 0xff0000);
        num |= ((bytes[0] << 24) & 0xff000000);
        return num;
    }

    public static void main(String[] args) {
        int num = 156;
        byte[] bytes = int2ByteArray(num);
        System.out.println(bytes.toString());
        int reverseNum = byteArray2Int(bytes);
        System.out.println(reverseNum);
    }
}

你可能感兴趣的:(Java基础,整数与字节数组相互转化)