将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");