gpt4 book ai didi

Java arraylist 清除或重新启动

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

考虑以下代码:

import java.util.ArrayList;
public class Main{
public static void main(String args[]){
ArrayList<ArrayList<Integer>> test = new ArrayList<ArrayList<Integer>>();
ArrayList<Integer> a = new ArrayList<Integer>();
a.add(7);
test.add(a);
System.out.println(test);
a.clear()
System.out.println(test);
}
}

测试的输出会不同(一个是[[7]],另一个是[[]])如果我们使用 a = new ArrayList() 而不是 a.clear(),结果会有所不同。我认为“测试”已经记录了“a”,所以我可以对“a”做任何事情而不改变“测试”。任何人都可以告诉我当我使用 a.clear() 并纠正我的想法时会发生什么?谢谢。

最佳答案

I thought the "test" had already recorded the "a" so I can do anything about "a" without changing "test".

通过存储对 a 所保存的同一对象的引用来记录 a。当你这样做时

a.clear()

您正在同一对象上调用 clear 方法。

关于Java arraylist 清除或重新启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26454773/

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