Java如何返回扩展接口的泛型类型

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(); } 链接列表

我有一个名为IDedObject的接口,我正在创建一个linkedlist类,它使用扩展IDedObject接口的泛型。在linkedList类中,我有一个函数,它尝试根据给定项的数据查找该项,然后返回该项。我得到一个错误,上面写着

不兼容的类型。必需:任何类型。发现:IDedObject

这就是我的代码的样子:

接口:

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;