Java 如何设置已创建数组的大小?

Java 如何设置已创建数组的大小?,java,arrays,Java,Arrays,这是我试图完成的方法数组数据定义(?)如下: /** * Constructor a matrix which has r rows and c columns. * data member nRow and nCol should be set accordingly using setters. * AFTER THAT, instance array data should be instantiated to size nRow*nCol * @p

这是我试图完成的方法数组数据定义(?)如下:

/**
     * Constructor a matrix which has r rows and c columns.
     * data member nRow and nCol should be set accordingly using setters.
     * AFTER THAT, instance array data should be instantiated to size nRow*nCol
     * @param r: number of rows 
     * @param c: number of columns
     */
    public Matrix(int r, int c)
    {
        setNRow(r);
        setNCol(c);
        data.length = r*c;
    }
我收到一个错误“无法分配最终字段数组.length”


如果我不能手动将数组的长度设置为n*r,那么如何设置其大小?

您不能在java中设置数组的大小。如果要重置大小,可以使用。在这里,您可以继续添加元素,而不用担心arraylist的大小会溢出。需要获取大小时,在arraylist上调用
size()
函数

举个例子,您可以这样做:

ArrayList数据=新的ArrayList(); 无需设置
data.length=r*c中的大小
(顺便说一句,你的意思是做
data=newdouble[r*c];
而不是
data.length=r*c;


创建阵列后,不能设置阵列大小。在您的代码中,您不需要创建数组,所以您可能需要这样做

private double[] 

在java中,数组是对象。它的长度变量是最终变量。这意味着您不能在创建数组后更改它的值。可以使用以下语法创建所需大小的数组:

data = new double[r*c];

因此,您需要做的就是放入所需的任何数据类型和r*c,而不是大小。

您不能,字段数组。长度是finalI,看不到任何赋值。。。或任何字段声明。。。
DataType[] name = new DataType[Size];