如何在java字符串数组上添加更多值?

时间:2014-09-27 07:14:31

标签: java

我有一个列表视图。

private String[] listView2 = {"aa","aa","aa"};
int a = 0;

Int值将决定添加内容数量

所以如果a == 2。

listView2 = {"aa","aa"};

如果a == 5

listView2 = {"aa","aa","aa","aa","aa"};

4 个答案:

答案 0 :(得分:4)

您已清楚地熟悉数组初始值设定项,您可以在其中预先指定内容...但您也可以通过指定长度来创建数组,如下所示:

 String[] array = new String[length];

这将创建一个数组,其中每个元素都是空引用(或分别为数字,布尔或字符数组的0,false或'\0')。然后你只需要填充它。你可以用循环来做到这一点:

String[] array = new String[length];
for (int i = 0; i < length; i++) {
    array[i] = "aa";
}

或者你可以使用Arrays.fill方法:

String[] array = new String[length];
Arrays.fill(array, "aa");

虽然对您的标题有一点评论 - 值得了解的是,一旦您创建了一个数组,您就无法实际添加元素(或从中删除元素)。数组对象具有固定大小。如果你这样做:

String[] array = new String[4];
...
array = new String[5];

然后,它不会向数组添加元素 - 它会创建一个长度为5的 new 数组,并将该数组分配给变量array。任何其他仍然引用原始数组的变量都不会发现任何变化。

答案 1 :(得分:0)

如果我理解正确,这就是你想要的:

private String[] listView2 = new String[a];
for(int i = 0 ; i<a ; i++){
    listView2[i] = "aa";
}

答案 2 :(得分:0)

数组包含一定数量的内容。

如果你想拥有一个可以改变大小的动态列表,那你应该像这样使用ArrayList<String>

List<String> list = new ArrayList<String>();

for(int i = 0; i < a; i++)
{
    list.add("aa");
}

答案 3 :(得分:0)

与其他语言中的数组不同,例如javascript,java数组是固定长度的。

如果要将另一个元素添加到完整数组,则必须创建另一个更大的数组,复制元素并分配结束元素。

不要使用数组!他们很痛苦。而是使用List,它将在需要时自动扩展。