问题描述
- java项目中对象第二次创建时,第一个对象为什么还存在
-
可能我问题提的不太清楚,我举个例子
比如一个类
public class A{
private List list = new ArrayList();
public void add(){
list.add("abv");
}
public void tell(){
System.out.print(list.size());
}
}在其他地方调用
A a = new A();
a.add();
Thread.sleep(5000);
A aa = new A();
aa.tell(); //为什么这里 aa没有add 但是 list却有数据呢请教下大家 谢谢
解决方案
看你这么一问 我也很疑惑、
但是我把你代码拷贝下来
一运行 输出 0
aa 对象里的list并没有数据
解决方案二:
我把代码运行了一下输出为0,说明list没有数据啊
解决方案三:
你初始化了两个A对象,在第一个里面调用了add访问,后来的创建aa并没有调用add方法,里面也就没有值。
解决方案四:
你这里的list数据是因为第一次a.add()添加的 ,在内存中没有回收释放,当然有数据了
解决方案五:
第二次初始化aa,是在内存中新创建了一个空间,list并没有值
时间: 2024-10-26 05:56:55