java:arraylist.contains&;移除不工作的组件
我在Java中有一个ArrayList,其中包含对象,这些对象由一个字符串名和一个数字组成 我想检查一下列表中是否有两个对象,然后更新其中一个对象的数量,然后删除另一个对象,这样下次就不会计算了 我已经知道它是如何工作的,但我有一个大问题,两种方法,“包含”和“删除”都不能处理我想要处理的对象。 对于expamle,我想删除第一个包含名称XXXX的对象,它根本不会删除该对象。 这两种方法似乎不是为自制的对象而设计的 是否有方法重写remove and contains方法? Eclipse在这里对自动生成的内容没有帮助 顺便说一句:我已经为我列表中的对象定义了一个自己的“equals”方法,该方法工作起来没有任何问题(我一直认为arraylist方法会利用对象方法) 谢谢。java:arraylist.contains&;移除不工作的组件,java,arraylist,contains,Java,Arraylist,Contains,我在Java中有一个ArrayList,其中包含对象,这些对象由一个字符串名和一个数字组成 我想检查一下列表中是否有两个对象,然后更新其中一个对象的数量,然后删除另一个对象,这样下次就不会计算了 我已经知道它是如何工作的,但我有一个大问题,两种方法,“包含”和“删除”都不能处理我想要处理的对象。 对于expamle,我想删除第一个包含名称XXXX的对象,它根本不会删除该对象。 这两种方法似乎不是为自制的对象而设计的 是否有方法重写remove and contains方法? Eclipse在这里
equals()
和hashCode()
方法应始终同时提供
查看equals()
和hashCode()
方法应始终同时提供
查看一段代码值千言万语当您定义equals方法时,您还需要定义有效的hashcode实现。我强烈怀疑您缺少hashcode部分。发布相关代码。你能在ArrayList失败的地方发布你的代码吗?只是检查一下,但你使用的是java.util.ArrayList,对吗?不是你自己的ArrayList?如果你是,这需要一个完全不同的讨论。另外,如前所述,请将代码粘贴到中。如果我们能看到发生了什么,我们可以帮忙。如果我们看不见,我们只能推测。一段代码值一千个单词。当您定义equals方法时,您还需要定义有效的hashcode实现。我强烈怀疑您缺少hashcode部分。发布相关代码。你能在ArrayList失败的地方发布你的代码吗?只是检查一下,但你使用的是java.util.ArrayList,对吗?不是你自己的ArrayList?如果你是,这需要一个完全不同的讨论。另外,如前所述,请将代码粘贴到中。如果我们能看到发生了什么,我们可以帮忙。如果我们看不见,我们只能推测。