与问题byte array to Int Array相关,但是我想将每个字节转换为int,而不是每个4字节。
是否有比这更好/更清洁的方式:
protected static int[] bufferToIntArray(ByteBuffer buffer) {
byte[] byteArray = new byte[buffer.capacity()];
buffer.get(byteArray);
int[] intArray = new int[byteArray.length];
for (int i = 0; i < byteArray.length; i++) {
intArray[i] = byteArray[i];
}
return intArray;
}
答案 0 :(得分:2)
我可能更喜欢
int[] array = new int[buffer.capacity()];
for (int i = 0; i < array.length; i++) {
array[i] = buffer.get(i);
}
return array;
答案 1 :(得分:0)
针对Kotlin程序员。
fun getIntArray(byteBuffer: ByteBuffer): IntArray{
val array = IntArray(byteBuffer.capacity())
for (i in array.indices) {
array[i] = byteBuffer.getInt(i)
}
return array
}
答案 2 :(得分:0)
这会产生一个 int 数组:
int[] intArray = byteBuffer.asInBuffer().array()