java - 如何修改 String[] 内的元素,该元素位于另一个 Arraylist 内的 Arraylist 内

标签 java arrays string arraylist

所以我有两个 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/

相关文章:

java - 找到一个随机加号,没有语法错误

java - 将 Main 中发生的另一个类文件中启动的数组对象添加到堆栈中

python - 对 3D 数组的行重新排序

C++/Boost 在多个字符上拆分字符串

java - 用 ASCII 近似值替换 unicode 标点符号

java - 停止未恢复的 Activity

java - JSP 登录页面无法正常工作

arrays - 如何简单地折叠(求和)R 中数组中的某些行

ruby - Ruby 如何比较字符串?

java - 用于检查 char 数组是否包含 Java 中用户给定字母的 If 语句