我有一个类 - xClass,我想加载到xClass数组中,所以我声明:
xClass mysclass[] = new xClass[10];
myclass[0] = new xClass();
myclass[9] = new xClass();
Run Code Online (Sandbox Code Playgroud)
但是,我不知道我是否需要10.我可能需要8或12或任何其他数字.直到运行时我才会知道.我可以动态更改数组中的元素数量吗?如果是这样,怎么样?
我知道你不能动态扩展普通数组,但这是一种有效的方法吗?
public int size = 0;
public String[] OrigArray = new String[size+1];
public void expand(){
String[] tempArray = new String[size+1];
tempArray = (String[])OrigArray.clone();
OrigArray = new String[size+1];
OrigArray = (String[])tempArray.clone();
size++;
}
Run Code Online (Sandbox Code Playgroud)
我知道比尝试使用普通数组要好得多的方法,但是我想首先使用普通数组来解决这个问题.
我的愿望是它开始时OrigArray为0 + 1(所以1)并且当expand()被调用时,new tempArray被制作为与之相同的大小OrigArray然后保持OrigArray同时OrigArray再次声明size+1然后将tempArray其复制回新的大小OrigArray.这对我来说很有意义,但我一直在走出异常?
java ×2