我只是想确保我对此很清楚,因为我不太确定确切的行为。我有两个数组:
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);
}
}
我正在使用的代码比这个简化的示例要复杂得多,因此,如果我能以第一种方式进行操作,那将是首选。
最佳答案
尽管您的数组包含原始元素,但数组本身是对象
http://java.sun.com/docs/books/jls/second_edition/html/typesValues.doc.html#12028
这样参考就可以了。
Java通过值原语和引用对象传递。
你做