したがって、Java はパス・バイ・コピー言語であることがわかります (少なくとも、これまで本から学んだことと同じくらいです)。しかし、なぜそのようなコードは:
public static void main(String[] args) {
(...)
System.out.println("Array before sorting: "+Arrays.toString(ourArray));
System.out.println("Array after sorting: "+Arrays.toString(sortTheArray(ourArray)));
System.out.println("Bah-dum-tss: "+Arrays.toString(ourArray));
}
public static int[] sortTheArray(int[] someArray)
{
Arrays.sort(someArray);
return someArray;
}
2 行目と 3 行目で同じ出力を生成しますか? つまり、コピーのみで渡す場合、ソートされた配列を 2 番目の println に出力してから、同じソートされていない配列を 3 番目に出力しないのはなぜですか? ourArray = sortTheArray(ourArray) をどこにも行っていないのに、なぜその値が変わるのですか? よろしくお願いします。初心者の質問で申し訳ありません:)