我已经实现了一个通用队列(在java中),它适用于不同的数据类型但是当我尝试使用引用类型实例化我的队列时,我从编译器中得到“越界”错误; Queue<Node<T>> myQueue = new Queue<Node<T>>();
这是我实施的一部分:
public class Queue<F extends Comparable<? super F>>
{
private static class QueueNode<F extends Comparable<? super F>>
{
private F data;
private QueueNode<F> next;
public QueueNode()
{
next = null;
}
public QueueNode(F val)
{
data = val;
next = null;
}
}
private QueueNode<T> head, rear;
public Queue()
{
head = rear = null;
}
public boolean isEmpty()
{
}
public void enqueue(F el)
{
}
public F dequeue()
{
}
}
我有一个用Node实现的二叉树,这个队列将用在Binary Tree类的一个方法中。任何人都可以帮我找出问题并解决它! 好的,这正是编译器所说的: 队列&GT; myQueue = new Queue&gt;(); “类型参数节点不在类型变量F的范围内” “其中T,F是典型变量: T扩展在BinarySearchTree类中声明的Comparable F扩展在类Queue“
中声明的Comparable答案 0 :(得分:0)
myQueue
声明应使用实际的类而不是T
。
例如:创建String
Queue<Node<String>> myQueue = new Queue<Node<String>>();