如果我在一個Java方法就像初始化數組:最終二維數組在Java中
final double[][] myArray = new double[r][c];
,我會被允許在後面的方法做到這一點?
myArray[0] = new double[c];
如果我在一個Java方法就像初始化數組:最終二維數組在Java中
final double[][] myArray = new double[r][c];
,我會被允許在後面的方法做到這一點?
myArray[0] = new double[c];
我會爲您提供一個這樣的例子:
public class Main {
public static void main(String[] args) {
final int[] finalArray = new int[5];
finalArray[0] = 10;
System.out.println(finalArray[0]);
finalArray[0] = 9001;
System.out.println(finalArray[0]);
finalArray = new int[5] //compile error!!!
}
}
這是因爲final
修改會說,參考陣列(指針)不能改變,但該數組的元素(可以有另一個指針)可以改變沒有問題。
編輯:
與2D陣列又如:
public class Main {
public static void main(String[] args) {
final int[][] array2d = new int[5][];
for(int i = 0; i < array2d.length;i++) {
array2d[i] = new int[6];
}
//the size of the rows can change with no problem.
array2d[0] = new int[8];
}
}
謝謝你的建設性答覆。在2D情況下,我可以假設我的數組中的每一行都是帶有指針的另一個數組,當我這樣做時我正在改變它們的引用? – Erol
是的,你可以,如果你嘗試它的代碼將起作用。我會用這個樣本進行更新。 –
是。你不是爲自己嘗試嗎? –