我有一个列表视图。
private String[] listView2 = {"aa","aa","aa"};
int a = 0;
Int值将决定添加内容数量
所以如果a == 2。
listView2 = {"aa","aa"};
如果a == 5
listView2 = {"aa","aa","aa","aa","aa"};
答案 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,它将在需要时自动扩展。