首页 >Java >java教程 >ArrayList 的 `contains()` 方法使用对象相等还是引用相等?

ArrayList 的 `contains()` 方法使用对象相等还是引用相等?

Susan Sarandon
Susan Sarandon原创
2024-12-07 18:06:171004浏览

Does ArrayList's `contains()` Method Use Object Equality or Reference Equality?

理解 ArrayList 的 contains() 方法中的对象比较

ArrayList 中的 contains() 方法评估列表中是否存在给定的对象。在确定对象相等性时,ArrayList 使用对象类中定义的 equals() 方法。

考虑以下场景:您创建一个具有整数值的 Thing 对象并将其添加到 ArrayList。如果您随后创建另一个具有相同值的 Thing 对象, contains() 方法会将它们识别为等效吗?

实现注意事项

对于 contains() 方法返回 true,必须正确实现 Thing 类中的 equals() 方法。在这种情况下, equals() 方法正确地比较了对象之间的值实例变量,如果它们相同则返回 true。

结论

contains() 方法ArrayList 委托对象与对象类中定义的 equals() 方法进行比较。通过实现 equals() 来比较相关实例变量,可以确保在 ArrayList 操作中正确识别对象是否相等。

以上是ArrayList 的 `contains()` 方法使用对象相等还是引用相等?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn