该方法不会更改OrigArray的值;它所做的只是在其中存储一个克隆的克隆,因此实际上该值不会更改。
我认为您想要的是:
public void expand() { String[] newArray = new String[OrigArray.length + 1]; System.arraycopy(OrigArray, 0, newArray, 0, OrigArray.length); //an alternative to using System.arraycopy would be a for-loop: // for(int i = 0; i < OrigArray.length; i++) // newArray[i] = OrigArray[i]; OrigArray = newArray;}
这将创建一个大小大于OrigArray的数组,将OrigArray的内容复制到其中,并将该数组分配给OrigArray。除非您想记住
expand()已调用了多少次,否则应该没有理由要使用变量
size。
编辑:如果您真正想要的是知道一种明智地实现所需功能的方法,则可以使用@ÓscarLópez所说的并使用ArrayList。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)