如何增加数组的长度

2022-09-01 19:43:35

我有一个简短的问题。我在java中有一个整数数组,它需要它的长度在整个类中变化。具体来说,在某些情况下,我需要它增加一个。我像这样试过了。

        sbgHeadX = new int[ numberOfSBG ];

我会在需要时增加整数变量OfSBG,但我认为这不起作用。还有其他方法吗?


答案 1

如果您不想或不能使用ArrayList,那么有一个实用程序方法:

Arrays.copyOf() 

这将允许您指定新大小,同时保留元素。


答案 2

Java 中的数组具有在声明时指定的固定大小。要增加数组的大小,您必须创建一个具有较大大小的新数组,并将所有旧值复制到新数组中。

前任:

char[] copyFrom  = { 'a', 'b', 'c', 'd', 'e' };
char[] copyTo    = new char[7];

System.out.println(Arrays.toString(copyFrom));
System.arraycopy(copyFrom, 0, copyTo, 0, copyFrom.length);
System.out.println(Arrays.toString(copyTo));

或者,您可以使用动态数据结构,如列表。