次のコードでは、方法2で元の配列が変更されても、なぜarr2 [0]は1.5と同じですか?他の配列と変数は無視してください。参照渡しと参照渡し
public class Problem3
{
public static int method1(int[] array)
{
array[0] += 10;
return array[0];
}
public static int method2(int aNum, String aStr,
int[] array1, float[] array2, int[] array3)
{
float[] fNums = {1.5F, 2.5F};
array2 = fNums;
return 10 + method1(array3);
}
public static void main(String[] args)
{
int num = 1000;
String aStr = "Hello!";
int[] arr1 = {1, 2, 3};
float[] arr2 = {0.5F, 1.5F};
int[] arr3 = {5, 6, 7};
int retNum = method2(num, aStr, arr1, arr2, arr3);
System.out.println(arr2[0]);
}
}
基本的に答えは1.5だと思っていましたが、解決策は0.5と言って、誰かが説明できるかどうか疑問に思っていますか? –
この回答を見る:http://stackoverflow.com/a/9404727/597657 –
Javaでは参照渡しがありません – newacct