有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Java中的最终2D数组

如果我在Java方法中初始化数组,如:

final double[][] myArray = new double[r][c];

我可以在以后的方法中这样做吗

myArray[0] = new double[c];

共 (2) 个答案

  1. # 1 楼答案

    我将为您提供一个这样的示例:

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