簡體   English   中英

Java添加到arrayList中已經存在的元素

[英]Java add to element already in arrayList

我有一個ArrayList<String>並想添加到已經在其中的字符串中,但不能替換它。 如果沒有myArrayList.set(index, myArrayList.get(index) + "myString"); 據我了解, myArrayList.get(index) += "myString"; 不起作用,因為它是只讀的。

語句myArrayList.get(index) += "myString"; 不起作用,因為您永遠不會將其存儲回arraylist中。 由於字符串的不可更改 ,因此將創建新字符串,但不會對其進行引用。 因此,您找不到它反映在arraylist元素中。

就個人而言,我會選擇第一種方式。

Java中的字符串是不可變的。 ArrayList的參與與該問題無關。 我猜您可以將ArrayList <StringBuilder>用於您的用例。

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

String是一個不可變的類,因此您不能這樣做,如果添加一個元素,則可以調用myArrayList.add(element)myArrayList.add(index, element)

也許您可以使用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));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM