Java添加到arrayList中的元素

时间:2014-02-12 02:24:13

标签: java string arraylist add

我有一个ArrayList<String>并希望添加到其中的字符串,但不能替换它。没有myArrayList.set(index, myArrayList.get(index) + "myString");这可能吗?根据我的理解,myArrayList.get(index) += "myString";不起作用,因为它是只读的。

4 个答案:

答案 0 :(得分:4)

语句myArrayList.get(index) += "myString";不起作用,因为您永远不会将其存储在arraylist中。由于immutability of strings,您的新字符串已创建,但未引用。因此,您没有发现它反映在arraylist元素中。

就个人而言,我会选择第一种方式。

答案 1 :(得分:0)

java中的字符串是不可变的。 ArrayList的参与与问题无关。您可以使用ArrayList&lt; StringBuilder&gt;对于你的用例,我想。

myArray.get( i ).append( "foo" );

答案 2 :(得分:0)

String不可变的类,因此您无法执行此操作,如果添加元素,则可以调用myArrayList.add(element)myArrayList.add(index, element)

答案 3 :(得分:0)

也许您可以使用StringBuilder代替String

例如,

    ArrayList<StringBuilder> list = new ArrayList<StringBuilder>();
    int index = 0;
    list.add(new StringBuilder(""));
    System.out.println(list.get(index));
    list.get(index).append("once");
    System.out.println(list.get(index));
    list.get(index).append("-twice");
    System.out.println(list.get(index));