2

リトルエンディアン形式のSeekableByteChannelを使用して、符号付き整数と符号なし整数を読み書きする必要があります。これはばかげているように見えるかもしれませんが、JDKで何かを見つけることができません。私は何かを逃したことがありますか、それとも私はこれを自分で転がすことが期待されていますか?これは問題ありませんが、今日は車輪の再発明をする気はありません。:-)

4

1 に答える 1

2

ByteBufferの仕事のように聞こえます。

やや好き

public static void main(String[] args) {
    byte[] payload = toArray(-1991249);
    int number = fromArray(payload);
    System.out.println(number);
}

public static  int fromArray(byte[] payload){
    ByteBuffer buffer = ByteBuffer.wrap(payload);
    buffer.order(ByteOrder.LITTLE_ENDIAN);
    return buffer.getInt();
}

public static byte[] toArray(int value){
    ByteBuffer buffer = ByteBuffer.allocate(4);
    buffer.order(ByteOrder.LITTLE_ENDIAN);
    buffer.putInt(value);
    return buffer.array();
}
于 2012-04-04T13:58:40.970 に答える