【发布时间】:2012-08-07 07:04:44
【问题描述】:
我有一个大的字节数组,我能不能把它解释为一个整数数组,这样每个条目就是原始字节的四个?
我的意思是这样的:
for (int i = 0; i < byteArray.length; i += 4) {
intArray[i / 4] = byteArray[i] << 24 + byteArray[i+1] << 16 + byteArray[i+2] << 8 + byteArray[i+3];
}
而不是逐字节复制整个数组,因为数组很大,所以只需要从已经存在的数组中读取整数。
【问题讨论】:
-
您当然可以读取字节并将它们放入 int 变量中,它们会自动向上转换为 int。然而,数组本身中的字节将并且必须保留为字节。
-
ByteBuffer.wrap(byteArray).toIntBuffer() -
哦,是的,这行得通。抱歉重复了,我之前读过这个问题,但不知道假设字节缓冲区是什么,它会涉及复制数组。
-
@user1559670 - 它确实涉及“复制数组”。
标签: java