gpt4 book ai didi

java - 在 ArrayList 中查找重复项

转载 作者:行者123 更新时间:2023-11-29 10:16:28 25 4
gpt4 key购买 nike

谁能告诉我导师提供的代码中的以下行应该做什么?

if (data.contains(entry))

完整方法:

public String add(Entry entry) {
if (entry == null)
return "Error: null entry";
if (data.contains(entry))
return "Error: this entry already in the book";

boolean done = data.add(entry);
if (done)
return " entry added";
else
return "entry could not be added";
}

我认为它正在检查 ArrayList 中具有相同详细信息的现有条目,但是当我添加重复条目时,它不会进入 if 语句所以我认为我假设错了吗?我在 Internet 上搜索了一下,它说它是用于此目的,为什么它对我不起作用?

最佳答案

请记住,contains() 使用 equals() 执行相等性检查。因此,除非您的对象覆盖该方法,否则它不会认为对象是相等的,除非它们是相同的对象引用。

当然,不要在不覆盖 hashCode() 的情况下覆盖 equals()

最后,如果您不想重复对象,请考虑使用 Set .

关于java - 在 ArrayList 中查找重复项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16360704/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com