更改数组中值的数量 JAVA

Change number of values in array JAVA

是否可以在设置数组后重新设置数组中值的数量? 我通过一个变量定义了数组中值的数量,稍后该变量由用户更新,我需要用它更新数组的大小。

即:

numberOfPeople = 2;
Person person[] = new Person[numberOfPeople];

以后:

if(valueSelected == 3) {
numberOfPeople = 3; }

以上只是一个非常简化的示例,但基本上这就是我所得到的,我只需要在执行 if 语句时实际更改数组大小。

不可以,一旦创建数组就无法更改其长度。

为此,我建议使用 ArrayList:

ArrayList<Object> arrayList = new ArrayList<Object>();
Object o = new Object();
arrayList.add(obj);

它可以一直增长到您想要的任何长度。

您可以从 official oracle document here 阅读更多关于 ArrayList 的信息。

要删除条目,只需使用 .remove() 方法:

或者

arrayList.remove(Object o); //removes occurrence of that object 

int index = 0;
arrayList.remove(index);  //removes the object at index 0

不过,如果您仍然想坚持使用数组,则必须创建一个更大的新数组,并将旧数组中的所有数据复制到新数组中。

我仍然建议使用 Alex K 的答案。简单多了。