我有一个ArrayOfByte
Log.d(TAG, "arrayOfByte :"+arrayOfByte); // it will display arrayOfByte :[B@2b052c60
Log.d(TAG, "arrayOfByte :"+ Arrays.toString(arrayOfByte)); //it displays arrayOfByte :[1,1,2,1,3,3,3,2,0,0,0,0,0,0,0]
现在我想将此
[1,1,2,1,3,3,3,2,0,0,0,0,0,0,0]
转换为某些int[ ] series
即: int[ ] series ={1,1,2,1,3,3,3,2,0,0,0,0,0,0,0}
那怎么办呢?
我用了
int[]intArray = new int[1024];
intArray = ByteBuffer.wrap(arrayOfByte).asIntBuffer().array()
但是出现如下异常:
04-24 11:32:34.750: E/AndroidRuntime(4927): FATAL EXCEPTION: Thread-10
04-24 11:32:34.750: E/AndroidRuntime(4927): java.lang.UnsupportedOperationException
04-24 11:32:34.750: E/AndroidRuntime(4927): at java.nio.IntToByteBufferAdapter.protectedArray(IntToByteBufferAdapter.java:169)
04-24 11:32:34.750: E/AndroidRuntime(4927): at java.nio.IntBuffer.array(IntBuffer.java:109)
最佳答案
如果这不起作用,请尝试对其进行硬编码:
int[] intArray = new int[arrayOfByte.length];
for(int i = 0; i < arrayOfByte.length; i++) intArray[i] = (int)arrayOfByte[i];