Java中的最终2D数组
如果我在Java方法中初始化数组,如:Java中的最终2D数组,java,multidimensional-array,final,Java,Multidimensional Array,Final,如果我在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];
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];
}
}
公共类主{
公共静态void main(字符串[]args){
最终整数[][]数组2d=新整数[5][];
for(int i=0;i
是。你不是自己尝试过吗?不清楚链接与问题的确切联系我关心的是最后一个关键字,因为在其他地方,我读到这样的初始化不允许我更改对数组的引用。我不是这样更改引用吗?您只是更改一个元素的引用,这是允许的。我在链接的数组中看不到final
关键字的用法。这不是多维数组的特殊情况。另外,我需要更多的字符使职位。谢谢你的建设性答复。在2D的情况下,我是否可以假设数组中的每一行都是另一个带有指针的数组,并且当我这样做时,我正在更改它们的引用?是的,您可以,如果您尝试代码,它将工作。我将用这个示例进行更新。