所以我有两个 Arraylists bBag 代表一个 bigBag,sbag1 和 sbag2 代表较小的包。 sbag1和sbag2是包含String[]的Arraylist,它们都在bBag内部。
import java.util.ArrayList;
import java.util.*;
public class Arraylist1 {
public static void main(String[] args) {
ArrayList<ArrayList<String[]>> bBag = new ArrayList<ArrayList<String[]>>();
ArrayList<String[]> sbag1 = new ArrayList<String[]>();
ArrayList<String[]> sbag2 = new ArrayList<String[]>();
String[] s1 = {"this", "is" , "Java", "bruh"};
String[] s2 = {"It", "rained"};
sbag1.add(s1);
sbag1.add(s2);
String[] s3 = {"today", "is", "20"};
sbag2.add(s3);
bBag.add(sbag1);
bBag.add(sbag2);
}
我想将 sbag2 的第一个字符串(即今天)修改为“明天”,这样它也会在 bBag 中被替换。另外我该如何显示它?谢谢。
最佳答案
字符串是不可变的,因此不能直接修改它,必须用新字符串替换它。您的容器、数组和数组列表保存对内存中对象的引用,而不是对象数据的副本。因此,如果更改数组,则该更改对于保存该数组的任何 arraylist 以及保存该 arraylist 的 arraylist 等都是可见的。
关于java - 如何修改 String[] 内的元素,该元素位于另一个 Arraylist 内的 Arraylist 内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38471545/