将string添加到string数组

可能重复:
如何添加新的元素到一个String []数组?

我是Java新手,所以我需要一点帮助

我有

String [] scripts = new String [] ("test3","test4","test5"); 

我想添加新的string(string1,string2)到这个数组(脚本)为例

 String string1= " test1" String string2 = "test2" 

我想添加新的string不在init中,但在以后的阶段

我怎么能做到这一点?

你不能在java中调整数组的大小。

一旦声明了数组的大小,它仍然是固定的。

相反,您可以使用具有dynamic大小的ArrayList ,这意味着您不必担心其大小。 如果你的数组列表不够大以容纳新值,那么它将被自动resize。

 ArrayList<String> ar = new ArrayList<String>(); String s1 ="Test1"; String s2 ="Test2"; String s3 ="Test3"; ar.add(s1); ar.add(s2); ar.add(s3); String s4 ="Test4"; ar.add(s4); 

首先,这里的代码,

 string [] scripts = new String [] ("test3","test4","test5"); 

应该

 String[] scripts = new String [] {"test3","test4","test5"}; 

请阅读本教程arrays

第二,

数组的大小是固定的,所以不能将新的string添加到上面的数组中。 您可以覆盖现有的值

 scripts[0] = string1; 

(要么)

创build大小的数组,然后继续添加元素,直到它已满。

如果你想要可resize的数组,可以考虑使用ArrayList 。

许多build议更好的解决scheme的答案是使用ArrayList。 ArrayList大小不固定,易于pipe理。

它是List接口的可resize的实现。 实现所有可选的列表操作,并允许所有元素,包括null。 除了实现List接口之外,该类还提供了一些方法来处理内部用来存储列表的数组的大小。

每个ArrayList实例都有一个容量。 容量是用于存储列表中的元素的数组的大小。 它总是至less与列表大小一样大。 当元素被添加到ArrayList时,其容量会自动增长。

请注意,此实现不同步。

 ArrayList<String> scripts = new ArrayList<String>(); scripts.add("test1"); scripts.add("test2"); scripts.add("test3"); 

你将不得不写下一些方法来创build一个临时数组然后复制它

 public String[] increaseArray(String[] theArray, int increaseBy) { int i = theArray.length; int n = ++i; String[] newArray = new String[n]; for(int cnt=0;cnt<theArray.length;cnt++) { newArray[cnt] = theArray[cnt]; } return newArray; } 

ArrayList将有助于解决您的问题。

由于Java数组拥有固定数量的值,所以在这种情况下,您需要创build一个长度为5的新数组。 更好的解决scheme是使用ArrayList,并简单地string添加到数组中。

例:

 ArrayList<String> scripts = new ArrayList<String>(); scripts.add("test3"); scripts.add("test4"); scripts.add("test5"); // Then later you can add more Strings to the ArrayList scripts.add("test1"); scripts.add("test2");