我正在尝试编辑缓冲区,但输入的副本(原始)是只读的。结果具有相同的值,但行为与原始的不同;我不确定有什么不同。为什么会这样呢?
private FloatBuffer cloneBuffer(FloatBuffer original) {
final ByteBuffer byteClone = (original.isDirect()) ?
//multiplying by 4 and adding 3 so the capacity is the same
//when converted to FloatBuffer
ByteBuffer.allocateDirect(original.capacity() *4 + 3) :
ByteBuffer.allocate(original.capacity() * 4 + 3);
final FloatBuffer clone = byteClone.asFloatBuffer();
final FloatBuffer readOnlyCopy = original.asReadOnlyBuffer();
readOnlyCopy.rewind();
clone.put(readOnlyCopy);
clone.position(original.position());
clone.limit(original.limit());
return clone;
}发布于 2015-06-30 06:58:51
弄明白了--我只需要把顺序设置为LITTLE_ENDIAN
https://stackoverflow.com/questions/31126764
复制相似问题