将新项添加到字符串数组

时间:2014-08-22 12:41:35

标签: java android arrays string

我有一个基本字符串数组

String[] array = {
        "AAA",
        "BBB",
        "CCC"
    };

现在我想添加一个新项目

array[array.length + 1] = "DDD"

运行应用程序后,它崩溃了。

3 个答案:

答案 0 :(得分:2)

  

数组是一个容器对象,它包含固定数量的单个类型的值。创建数组时,将建立数组的长度。创建后,它的长度是固定的。

Java docs

如果要动态更改大小,则应使用ArrayList

或者您也可以使用HashMap

Android docs on ArrayList

答案 1 :(得分:0)

array[array.length + 1] = "DDD"

这里假设 array.length是3 在你的情况下它的3因为你以这样的方式初始化它所以当你试图在其中插入值时你不能在索引中插入值而不是在其中绑定所以你的上限索引是 length-1 (因为索引从0开始)

因为您尝试访问超出范围的索引,您将获得ArrayIndexOutOfBounds异常  这就是为什么你的应用程序崩溃希望它能解决你的问题

答案 2 :(得分:0)

您可以使用ArrayList。

只需写下

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

array.add("AAA");
array.add("BBB");
array.add("CCC");
array.add("DDD");