将字符串添加到String数组

use*_*697 80 java

可能重复:
如何向String []数组添加新元素?

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

我有

String [] scripts = new String [] ("test3","test4","test5");
Run Code Online (Sandbox Code Playgroud)

我想为这个数组(脚本)添加新的字符串(string1,string2)作为示例

String string1= " test1"
String string2 = "test2"
Run Code Online (Sandbox Code Playgroud)

我想在init中添加新字符串,但是在后期阶段

我怎么能这样做?

Abu*_*kar 127

您无法在java中调整数组大小.

一旦声明了数组的大小,它就会保持固定.

相反,你可以使用ArrayList具有动态大小的,这意味着你不必担心它的大小.如果您的数组列表不足以容纳新值,那么它将自动调整大小.

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);
Run Code Online (Sandbox Code Playgroud)

  • 确保还导入 java.util.ArrayList (5认同)

kos*_*osa 20

首先,这里的代码,

string [] scripts = new String [] ("test3","test4","test5");
Run Code Online (Sandbox Code Playgroud)

应该

String[] scripts = new String [] {"test3","test4","test5"};
Run Code Online (Sandbox Code Playgroud)

请阅读有关阵列的本教程

第二,

数组是固定大小的,因此您无法在上面的数组中添加新的字符串.您可以覆盖现有值

scripts[0] = string1;
Run Code Online (Sandbox Code Playgroud)

(要么)

创建具有大小的数组,然后继续添加元素直到它已满.

如果需要可调整大小的数组,请考虑使用ArrayList.


ade*_*bal 9

你必须写下一些方法来创建一个临时数组然后复制它

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;  
}  
Run Code Online (Sandbox Code Playgroud)

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


cod*_*ish 5

许多答案表明更好的解决方案是使用ArrayList.ArrayList大小不固定,易于管理.

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

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

请注意,此实现不同步.

ArrayList<String> scripts = new ArrayList<String>();
scripts.add("test1");
scripts.add("test2");
scripts.add("test3");
Run Code Online (Sandbox Code Playgroud)