我的第一个答案是比特换档,但是在第二个想法中我认为使用输出流可能更好,更容易理解.我通常会避免施法,但是如果你不打算使用通用的解决方案,我想这样就可以了. 🙂
使用流,一个通用的解决方案:
public byte[] intToByteArray(final int i) throws java.io.IOException {
java.io.ByteArrayOutputStream b = new java.io.ByteArrayOutputStream();
java.io.DataOutputStream d = new java.io.DataOutputStream(b);
d.writeInt(i);
d.flush();
return b.toByteArray();
}
并扭转它:
public int byteArrayToInt(final byte[] b) throws IOException {
java.io.ByteArrayInputStream ba = new java.io.ByteArrayInputStream(b);
java.io.DataInputStream d = new java.io.DataInputStream(ba);
return d.readInt();
}