我需要更改静态数组的大小。
我有:
static int ca [][] = { {45},
{0},
{45},
{0} };
并尝试:
ca[][] = new int[5][5];
答案 0 :(得分:2)
您无法更改数组的大小。如果您想要相同的功能但能够更改大小,请使用arraylist。对于int的arraylist:
ArrayList<Integer> myList = new ArrayList<Integer>();
答案 1 :(得分:1)
您可以创建一个类似于此的辅助函数:
static int[][] ca ={ {45},
{0},
{45},
{0} };
public static void main(String[] args) {
ca = increaseSize(ca, 5, 5);
}
public static int[][] increaseSize(int[][] array, int rowSize, int colSize) {
if (array.length <= rowSize && array[0].length <= colSize) {
int temp[][] = new int[rowSize][colSize];
for (int i = 0; i < array.length; i++) {
for (int j = 0; j < array[0].length; j++) {
temp[i][j] = array[i][j];
}
}
return temp;
}
return null;
}
答案 2 :(得分:0)
你不容易。如果需要调整数组大小,请使用ArrayList。这是一个例子:
ArrayList list = new ArrayList<Object>();
list.add(obj);
Object obj2 = list.get(index);
&#34;对象&#34;可以替换为任何类或数据类型。查看文档以获取更多信息。
答案 3 :(得分:0)
我建议使用ArrayList或Vector。添加最后一个元素时,向量不会使自身的大小加倍,与ArrayList不同。