java - 包含对对象的引用的 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] 访问该对象。
解决方案
e
也是对对象的引用,或者更准确地说:持有引用的变量。
所以你有两个指向同一个对象的引用。您只“取消”第一个。真实对象仍然存在,并且由于它仍然通过该数组引用,因此垃圾收集器也不会收集它。
这就是全部。
推荐阅读
- python - 获取启动请求时出错 - Scrapy
- azure - 如何避免 url 中的天蓝色广告令牌
- perforce - 设置 Perforce 服务器时 P4V 未连接到我的 DigitalOcean Droplet
- groovy - 为什么groovy中会出现MissingMethodException的错误?
- javascript - 使用正则表达式在 JavaScript 中对 HTML 表进行排序
- python - 用户匹配查询不存在;定义了 User.DoesNotExist 异常处理程序
- docker - 在 docker build 期间挂载 CDROM 存储库
- javascript - Vue JS,如何在加载 HTML DOM 组件之前先运行 axios 请求 API?
- neo4j - 在 Neo4j 全文搜索索引中包含布尔值
- javascript - 自动递增正确格式的序列号