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