我有一个快速的问题.我在java中有一个整数数组,需要它的长度在整个类中变化.具体来说,我需要在某些情况下增加1.我试过这样的.
sbgHeadX = new int[ numberOfSBG ];
Run Code Online (Sandbox Code Playgroud)
我需要的时候会增加整数变量numberOfSBG,但我觉得这不行.还有其他方法吗?
Jak*_*rka 26
如果您不想或不能使用ArrayList,那么有一个实用方法:
Arrays.copyOf()
Run Code Online (Sandbox Code Playgroud)
这将允许您指定新的大小,同时保留元素.
Hun*_*len 24
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));
Run Code Online (Sandbox Code Playgroud)
或者,您可以使用像List这样的动态数据结构.
tal*_*las 14
我建议您使用ArrayList,因为您不必再担心长度了.创建后,您无法修改数组大小:
数组是一个容器对象,它包含固定数量的单个类型的值.创建数组时,将建立数组的长度.创建后,其长度是固定的.
(来源)