具有引用数据类型的通用队列

时间:2013-04-01 12:44:58

标签: java

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

1 个答案:

答案 0 :(得分:0)

myQueue声明应使用实际的类而不是T

例如:创建String

的队列
Queue<Node<String>> myQueue = new Queue<Node<String>>();