gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-02 11:40:39 24 4
gpt4 key购买 nike

我有一个名为 IDedObject 的接口(interface),并且正在创建一个使用扩展 IDedObject 接口(interface)的泛型的链表类。在 linkedList 类中,我有一个函数尝试根据给定的数据查找给定的项目,然后返回该项目。我收到一条错误消息

Incompatible types. Required: AnyType. Found: 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;
}

非常感谢您对此提供的任何帮助。这是一项家庭作业,因此我需要使用通用的 extends IDedObject。

谢谢。

最佳答案

我通过更改解决了问题

Node curNode = beginMarker;

Node<AnyType> curNode = beginMarker;

在LinkedList类的findID函数中。不知道我是怎么错过的。

关于Java如何返回扩展接口(interface)的泛型类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48588983/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com