我只是想确保我清楚这一点,因为我不太确定确切的行为。我有两个数组:
private short[] bufferA;
private short[] bufferB;
我想在其中交换。我可以做这样的事情吗:
private short[] currentBuffer;
while(something)
{
currentBuffer = (condition) ? bufferA : bufferB;
modify(currentBuffer);
}
根据某些条件修改 bufferA 或 bufferB,或者我应该使用标志并像这样手动编码:
private int currentBuffer;
while(something){
currentBuffer = (condition) ? BUFFER_A : BUFFER_B;
if(currentBuffer == BUFFER_A) {
modify(bufferA);
}else{
modify(bufferB);
}
}
我正在使用的代码比这个简化的示例更复杂,因此如果我可以采用第一种方法,那将是首选。
最佳答案
虽然你的数组保存着原语,但数组本身是对象
所以引用工作正常。
Java 通过值基元和引用对象传递。
乌多
关于java - Java 中指向同一个数组的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4593488/