0

我已经实现了一个通用队列(在 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()
    {
    } 
}

我有一个根据节点实现的二叉树,这个队列将用于二叉树类中的一种方法。谁能帮我找出问题并解决它!好的,这正是编译器所说的: Queue> myQueue = new Queue>(); “类型参数节点不在类型变量 F 的范围内”“其中 T,F 是典型变量:T 扩展类 BinarySearchTree 中声明的 Comparable F 扩展类队列中声明的 Comparable”

4

1 回答 1

0

myQueue declaration should use an actual class instead of T.

Ex: To create a queue of String

Queue<Node<String>> myQueue = new Queue<Node<String>>();
于 2013-04-01T13:12:58.807 回答