我正在编写一个双向链表,当我的类“Furniture”扩展的对象被添加时,使用compareTo方法对它们进行排序。实现与通用双向链表的比较
我的目录和节点代码:
class Node<E extends Comparable<E>> { ....... }
class DList<E extends Comparable<E>>
{
[..]
public void add(E c)
{
Node<E> finger = head;
while (finger != null && ((finger.value().compareTo(c)) > 0))
finger = finger.Next();
}
}
我compareTo方法(S)位于我的家具类的子类,例如:
class Chair extends Furniture
{
[.....]
public int compareTo(Chair c)
{
if(this.getStyle().equals(c.getStyle()))
return this.getColor().compareToIgnoreCase(c.getColor());
return this.getStyle().compareToIgnoreCase(c.getStyle());
}
}
然后我尝试让我的列表
DList<Furniture> DD = new DList<Furniture>();
我收到错误:类型变元家具不在类型变量E
p.s.为获得最佳效果,使用'>' –
newacct
2012-04-11 20:00:03