我有一个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];

10-08 13:10