Java如何返回扩展接口的泛型类型
我有一个名为IDedObject的接口,我正在创建一个linkedlist类,它使用扩展IDedObject接口的泛型。在linkedList类中,我有一个函数,它尝试根据给定项的数据查找该项,然后返回该项。我得到一个错误,上面写着 不兼容的类型。必需:任何类型。发现:IDedObject 这就是我的代码的样子: 接口:Java如何返回扩展接口的泛型类型,java,generics,interface,linked-list,return,Java,Generics,Interface,Linked List,Return,我有一个名为IDedObject的接口,我正在创建一个linkedlist类,它使用扩展IDedObject接口的泛型。在linkedList类中,我有一个函数,它尝试根据给定项的数据查找该项,然后返回该项。我得到一个错误,上面写着 不兼容的类型。必需:任何类型。发现:IDedObject 这就是我的代码的样子: 接口: public interface IDedObject { public int getID(); public void printID(); } 链接列表
public interface IDedObject {
public int getID();
public void printID();
}
链接列表:
public class singlyLinkedList<AnyType extends IDedObject> {
public Node<AnyType> endMarker;
public Node<AnyType> beginMarker;
AnyType findID(int ID){
Node curNode = beginMarker;
while(curNode.getNext() != endMarker){
if (curNode.getData().getID() == ID){
return curNode.getData();
}
}
return null;
}
}
class Node<AnyType extends IDedObject>{
public Node(AnyType d, Node<AnyType> n){
data = d;
next = n;
}
public Node getNext(){
return next;
}
public AnyType getData() {
return data;
}
public AnyType data;
private Node<AnyType> next;
private int theSize;
}
我非常感谢你在这方面的帮助。这是一个家庭作业,所以我需要使用一个通用的扩展IDedObject
谢谢。我通过更改
Node curNode = beginMarker;
到
在LinkedList类中的findID函数中。不知道我是怎么错过的。为什么要扩展接口?实现它,这些函数不会做任何事情,因为它们没有任何实体可以做anything@BlooB我有另一个类实现接口。在main函数中,我需要使用我创建的LinkedList并用实现接口的对象填充它。发布main方法,以及有关错误的更多详细信息。使用curNode的raw types节点和getNext的返回类型可能与您的错误有关。我修复了该问题。见下面我的答案。谢谢你们的帮助。
Node<AnyType> curNode = beginMarker;