我有一个名为IDedObject的接口,我正在创建一个使用扩展IDedObject接口的泛型的链表。在linkedList类中,我有一个函数,它试图根据它的数据查找给定的项目,然后返回该项目。我收到一条错误
不兼容的类型。必需:AnyType。找到: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的泛型。
感谢。
答案 0 :(得分:1)
我通过更改
解决了问题Node curNode = beginMarker;
到
Node<AnyType> curNode = beginMarker;
在LinkedList类的findID函数中。不知道我是怎么错过的。