title: Java ByteBuffer issues with signed and unsigned types converting byte array to integer
body: <p>I expected this:</p>
  
  <pre><code>ByteBuffer.wrap(new byte[] { 0, 0, 0, -34 }).getInt() == 222
  </code></pre>
  
  <p>However the following is true:</p>
  
  <pre><code>ByteBuffer.wrap(new byte[] { 0, 0, 0, -34 }).getInt() == -570425344
  </code></pre>
  
  <p>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?</p>