是否可以在已经设置数组后重置数组中的值? 我已经通过变量定义了数组中的值的数量,稍后该变量由用户更新,我需要使用它来更新数组的大小。
即:
numberOfPeople = 2;
Person person[] = new Person[numberOfPeople];
随后:
if(valueSelected == 3) {
numberOfPeople = 3; }
上面只是一个非常简单的例子,但基本上就是我所拥有的,我只需要在执行if
语句时实际更改数组大小。
答案 0 :(得分:5)
不,您可以在创建数组后更改数组的长度。
为此,我建议使用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
OR
int index = 0;
arrayList.remove(index); //removes the object at index 0
答案 1 :(得分:2)
但是,如果你仍然想坚持使用数组,你必须制作一个更大尺寸的新数组,并将旧数据中的所有数据复制到新数组中。
我仍然建议Alex K回答。这更容易。