我有以下类和方法:
sliding in from the trailing edge
T的实现:
zoom and fade out when it is dismissed
主要方法:
public class Node<T> {
private T val ;
private Node parent;
public Node(T s, Node p)
{
val=s;
parent=p;
}
public Node(T s)
{
val=s;
}
public boolean equals(Node s)
{
return this.val.equals(s.val);
}
public int hashCode()
{
return val.hashCode();
}
有人知道为什么我在set.contains中弄错了吗?从我阅读的内容来看,第一项检查基本上是set.contains的作用。我在Point类和Node类中实现了hashCode并等于它。
答案 0 :(得分:2)
您的Node类的equals方法不会覆盖超类,因为它具有不同的签名,它采用Node对象参数而不是Object的任何实例。 更改为
public boolean equals(Object s) {
if (!(s instanceof Node))
return false;
return this.val.equals(((Node) s).val);
}