如何解决ArrayList.clear是否还会删除所有包含的objecs?
| 假设我以这种方式创建了一个ArrayList的ArrayList: ArrayList< ArrayList<String> > listofListsOfStrings =
new ArrayList< ArrayList<String> >();
如果我打电话给:
listofListsOfStrings.clear();
以后尝试访问listofListsOfStrings内的任何String的尝试总是会导致java.lang.NullPointerException吗?
解决方法
不,仅引用将被清除。如果不再存在对某个对象的引用,则可能会对其进行垃圾回收,但是您将不会获得NPE,因为无论如何您都无法获得对该对象的新引用。
,不,如果仍然有外部引用,它不会删除ѭ2中的对象。除非它们是孤立的,否则ArrayList.clear()对引用的对象不执行任何操作,在这种情况下,以后将不再引用它们。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。