【发布时间】:2019-03-18 14:25:27
【问题描述】:
我必须为搜索引擎实现数据结构。所以我的 DS 中有不同类型的对象。我有一个通用链接列表,我只想将那些现在不属于列表的元素添加到列表中。有没有一种方法可以更详尽地比较两种对象类型,因为 .equals() 每次都返回 true?
public Boolean IsMember(T o) {
NodeX<T> temp = head;
while(temp!= null) {
if (temp.data.equals(o))
{//System.out.println("exec");
return true;}
temp = temp.next;
}
return false;
}
这是 LinkedList 的 isMember 方法。这仅适用于字符串类型。我可以对此进行哪些更改以使其适用于所有对象类型?
如果我为我正在使用的不同对象定义一个 isEqual 方法,我该如何在这里使用这些方法?
【问题讨论】:
-
如果我理解正确,你可以覆盖等于并比较你想要的。
-
我的链表中有一个 isMember 方法。我在那里使用equals。我怎样才能覆盖它?
-
也许我理解错了......但是您可以从对象本身覆盖 equals 方法并在那里进行比较。否则,请为您的问题添加一个小代码示例,认为这会有所帮助:)
-
我编辑了这个问题。你现在能提出什么建议吗?
-
“temp.data”是什么类型