0
在我替換函數中的數組的索引0後,arrayCharacter
的值也會更改。其結果是替換數組項,源值也被替換爲public static void
[A, B, C] [ko, B, C] [ko, B, C]
我不明白爲什麼結果不是:
[A, B, C] [A, B, C] [A, B, C]
這是我的代碼:
public static void main(String[] args) {
String[] arrayCharacter = new String[]{"A", "B", "C"};
for (int i = 0; i < 3; i++) {
proses(arrayCharacter);
}
}
public static void proses(String[] arrayCharacter) {
String[] characterTemp = arrayCharacter;
System.out.println(Arrays.toString(arrayCharacter));
characterTemp[0] = "ko";
}
}
參見:[?是按值在Java中通過或經過的參考陣列(http://stackoverflow.com/questions/12757841/are-arrays-passed-by-value -or-通過按引用-在-java的)。 – agold