当您在 java 中的数组列表上调用remove(object o) 时,它如何比较对象以找到要删除的正确对象?它使用指针吗?或者它使用 Comparable 接口来比较对象吗?
ArrayList
remove()
依赖于对象的实现Equal
方法。如果没有执行,则该对象将被删除Object
的实施Equals
这确实是指针比较。
从文档上ArrayList
-
更正式地说,删除索引 i 最低的元素,使得(o==null ? get(i)==null : o.equals(get(i)))
(如果存在这样的元素)
Object equal
方法文档 -
Object 类的 equals 方法实现了对象上最具辨别力的可能等价关系;也就是说,对于任何非空参考值x
and y
,此方法返回 true 当且仅当x
and y
引用同一个对象(x == y
有价值true
).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)