Java 实现可与通用双链表进行比较
我正在编写一个双链接列表,当添加从类“家具”扩展的对象时,使用compareTo方法对它们进行排序 我的列表和节点代码:Java 实现可与通用双链表进行比较,java,list,generics,Java,List,Generics,我正在编写一个双链接列表,当添加从类“家具”扩展的对象时,使用compareTo方法对它们进行排序 我的列表和节点代码: class Node<E extends Comparable<E>> { ....... } class DList<E extends Comparable<E>> { [..] public void add(E c) { Node<E> finger = head;
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();
}
}
然后我试着把我的清单列出来
DList<Furniture> DD = new DList<Furniture>();
dlistdd=newdlist();
我收到了错误:类型参数furniture不在类型变量E中确保
furniture
实现可比确保furniture
实现可比可能您的Forniture
类没有实现可比
可能您的Forniture
类不实现compariable
您的家具类应该是抽象的,应该扩展为compariable,您的椅子类应该实现您的家具类
另一种方法是使您的家具类实现可比性。您的家具类应该是抽象的,并且应该扩展为可比的,您的椅子类应该实现您的家具类
另一种方法是使家具类实现可比较。意味着E
必须扩展可比较
,因此确保家具扩展可比较。意味着E
必须扩展可比较
,因此,请确保家具延伸可比。和椅子
需要实现int compareTo(家具f)
匹配。否,如果Furniture实现了Comparable,那么类已经有了compareTo方法,Chair类将继承这个compareTo方法。实际上,Chair
需要实现Comparable
,但前提是他需要实例化DList
是,但这里不是这样,由于op希望创建家具的数据列表。而椅子
需要实现int compareTo(家具f)
匹配。否,如果Furniture实现了Comparable,那么类已经有了compareTo方法,Chair类将继承这个compareTo方法。实际上,Chair
需要实现Comparable
,但前提是他需要实例化DList
是,但这里不是这样,因为op想要创建一个家具的数据列表。要获得最佳结果,请使用p.s.要获得最佳结果,请使用
DList<Furniture> DD = new DList<Furniture>();