如果我在 Java 方法中初始化一个数组,例如:
final double[][] myArray = new double[r][c];
我可以在以后的方法中这样做吗?
myArray[0] = new double[c];
如果我在 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
修饰符会说对数组的引用(指针)不能改变,但数组的元素(可能有另一个指针)可以毫无问题地改变。
编辑:
二维数组的另一个例子:
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];
}
}