我有 EMP 类的对象 e。我将它添加到数组并将 e 的引用设为 null。
Emp e = new Emp();
Emp[] lst = new Emp[10];
lst[0] = e;
e = null;
System.out.println("Emp object = "+l[0]);
我所知道的是数组 lst 不包含实际的 empolyee 对象,而是对 employee 对象的引用。因此,如果我将引用 e 设为 null 那么我们如何仍然能够使用 lst[0] 访问该对象。
最佳答案
e
也是一个对象的引用,或者更准确地说:一个持有引用的变量。
因此您有两个 引用指向同一个对象。您仅“取消”第一个。真正的对象仍然存在,并且因为它仍然通过那个数组被引用,所以它也不会被垃圾收集器收集。
这就是全部。
关于包含对对象的引用的 Java 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53708960/