Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/silverlight/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java中的最终2D数组_Java_Multidimensional Array_Final - Fatal编程技术网

Java中的最终2D数组

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];

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