我只是想确保我对此很清楚,因为我不太确定确切的行为。我有两个数组:

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通过值原语和引用对象传递。

你做

10-06 14:54