如何在Java中向一個字節數組添加一個long?如何在Java中添加一個long到一個字節數組
我想將long轉換爲字節,然後將它添加到字節數組中。
byte[] combined;
long number;
byte[] bytes = {...}
combined = ???
如何在Java中向一個字節數組添加一個long?如何在Java中添加一個long到一個字節數組
我想將long轉換爲字節,然後將它添加到字節數組中。
byte[] combined;
long number;
byte[] bytes = {...}
combined = ???
一種方法是使用NIO的ByteBuffer
:
byte[] bytes = ...
long number = ...
ByteBuffer buf = ByteBuffer.allocate(bytes.length+8);
buf.put(bytes);
buf.putLong(number);
byte[] result = buf.array();
您分配足夠長的緩衝區,那麼陣列複製到你想添加您的long
值的字節表示,然後請致電myLong
將其追加到數組中。調用buf.array()
收穫緩衝區的結果。
讓我們說你的字節數組是n的大小。現在就這樣做, bytes [n + 1] = number; combined [] = bytes [];
不僅'bytes [n + 1]'(和'bytes [n]')會給出'IndexOutOfBoundsException',你不能在'byte'數組中添加'long'。 – Guy
謝謝你,與我分享這個 –
concat是什麼意思? –
你能解釋一下你在期待什麼輸出 –
這兩種類型不兼容可以加在一起,也不是串聯。 –