我正在使用这样的 for 循环创建一个 FloatBuffers 数组:
FloatBuffer[] buffer = new FloatBuffer[sizebuffer];
float[] farray = new float[sizeArray];
for(int i=0;i<sizebuffer;i++){
for(int j=0;j<sizeArray;j++){
farray[j]= I get the float values from other buffer....
}
buffer[i]= FloatBuffer.wrap(farray); (*)
}
但由于某种原因,每次执行此行 (*) 时,它都会更改 FloatBuffer 数组(“缓冲区”)每一行的值。例如,在给buffer[0]它的值之后,我打印了buffer[0].get(0),然后在给buffer[1]它的值之后,我再次打印了buffer[0].get(0),但是值已更改。它正在处理以前每个缓冲区 [0]、缓冲区 [1] 上的每个新缓冲区 [i] 的值...我不明白为什么会这样?