首页 > 解决方案 > 包含对对象的引用的 Java 数组

问题描述

我有 EMP 类的对象 e。我将它添加到数组并将 e 的引用设为空。

Emp e = new Emp();
Emp[] lst = new Emp[10];
lst[0] = e;
e = null; 
System.out.println("Emp object = "+l[0]);

我所知道的是数组 lst 不包含实际的员工对象,而是对员工对象的引用。因此,如果我将引用 e 设为 null,那么我们如何仍然能够使用 lst[0] 访问该对象。

标签: javaarraysreference

解决方案


e也是对对象的引用,或者更准确地说:持有引用的变量。

所以你有两个指向同一个对象的引用。您只“取消”第一个。真实对象仍然存在,并且由于它仍然通过该数组引用,因此垃圾收集器也不会收集它。

这就是全部。


推荐阅读