gpt4 book ai didi

java - 添加 ArrayList 后清除某些内容也会清除 ArrayList

转载 作者:行者123 更新时间:2023-12-01 16:47:25 24 4
gpt4 key购买 nike

我有一个包含Arraylists的ArrayList,这是代码:

ArrayList<ArrayList<String>> results = new ArrayList<ArrayList<String>>();
ArrayList<String> row = new ArrayList<String>();

我想要的是 results ArrayList 包含 row ArrayList。我认为在向 ArrayList 添加一些内容后,它会被硬编码到该 ArrayList 中。但看来 ArrayList 的内容仍然与我添加到其中的变量的内容相关,因为当我运行此代码时:

row.add("ROW 1 ITEM 1");
row.add("ROW 1 ITEM 2");
row.add("ROW 1 ITEM 3");
row.add("ROW 1 ITEM 4");
row.add("ROW 1 ITEM 5");
row.add("ROW 1 ITEM 6");
results.add(row);
row.clear();
log(results.toString());

控制台中记录的结果是[[]]。有什么办法可以这样使用它吗?

最佳答案

是的,Java 使用引用。如果您对引用 ArrayList 的引用调用 clear,则引用完全相同内存的其他引用将看到相同的内容。 ArrayList 为空。

如果您想保留内容,请将其保存到不同的 ArrayList 实例。

关于java - 添加 ArrayList 后清除某些内容也会清除 ArrayList,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47477903/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com