本教程将介绍当您在 arraylist 上调用 remove(object o) 时,它如何比较对象?的处理方法,这篇教程是从别的地方看到的,然后加了一些国外程序员的疑问与解答,希望能对你有所帮助,好了,下面开始学习吧。
问题描述
当您在 java 中的 arraylist 上调用 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
和 y
,当且仅当 x
和 y
引用同一个对象(x == y
的值为 true
).
好了关于当您在 arraylist 上调用 remove(object o) 时,它怎么比较对象?的教程就到这里就结束了,希望趣模板源码网找到的这篇技术文章能帮助到大家,更多技术教程可以在站内搜索。