そこで、UIL 模擬試験を行っていたところ、この問題が発生しました。
public void fun(int[] list){
list[2]++;
list[1] = list[0];
list = new int[4];
list[2]++;
}
//////////////////////////
// client code
int[] vals = {2, 7, 3};
fun(vals);
out.print( Arrays.toString(vals) );
試してみたら[2, 2, 5]でしたが、答えは[2, 2, 4]でした。list[2]++ だけだったので、足すだけかと思ったら、足らなかった。最後のインクリメントが出力に含まれなかったのはなぜですか?