I expected this:
ByteBuffer.wrap(new byte[] { 0, 0, 0, -34 }).getInt() == 222
However the following is true:
ByteBuffer.wrap(new byte[] { 0, 0, 0, -34 }).getInt() == -570425344
How do I get around this yet another of Java's many limitations with signed/unsigned types or do I need to completely roll my own?