>>361
エンディアン考慮してないね、それ。
こっちの方が良くない?

前提byte[] dat の先頭に目的の4バイトが入ってる

ByteBuffer buf;
buf.allocate(dat.length);
buf.put( dat ).position(0);
buf.getInt();

最後で取り出してる。好きなものに入れなさい。
エンディアンはorderでかえられる。
入ってる位置が先頭でないなら、positionで変更できる。