现在我正在尝试做一个涉及创建一个可以接收任何通用对象的堆的分配,并且节点可以通过实现 Comparable 接口来相互比较。问题是,我找不到像这样比较通用对象的方法。
到目前为止,这是我对 Node 类所做的:
private class Node<E> implements Comparable<E>
{
private E data;
private Node left;
private Node right;
//constructors
public Node(E data)
{
this.data = data;
left = null;
right = null;
}
public Node(E data, Node left, Node right)
{
this.data = data;
this.left = left;
this.right = right;
}
//returns current data
public Object getData()
{
return this.data;
}
public int compareTo(E other)
{
return data.compareTo(other);
}
}
当我尝试编译时,它显示“找不到符号 - 方法 compareTo(E)”。compareTo() 方法在 Comparable 接口中,所以我不明白为什么会这样,也不知道如何解决。有人知道吗?