如何将两个通用队列组合在一起?

how to combine two generic queues together?

public class QueueDemo<T> {


    public static <T> ArrayUnbndQueue<T> mergeQueue(ArrayBndQueue<T> q1, ArrayBndQueue<T> q2) {
        ArrayUnbndQueue<T> temp = new ArrayUnbndQueue<T>();


        while (!q1.isEmpty()) {
            T x = q1.dequeue();
            temp.enqueue(x);
        }

        while (!q2.isEmpty()) {
            temp.enqueue(q2.dequeue());
        }

        return temp;
    }

    public static void main(String[] args) {

        ArrayBndQueue<Integer> q1 = new ArrayBndQueue<Integer>();
        ArrayBndQueue<Integer> q2 = new ArrayBndQueue<Integer>();
        ArrayUnbndQueue<Integer> q3 = new ArrayUnbndQueue<Integer>();

        q1.enqueue(1);
        q1.enqueue(2);

        q2.enqueue(5);
        q2.enqueue(6);

        q3.mergeQueue(q1, q2); // i get an errorThe method 
                               //mergeQueue(ArrayBndQueue<Integer>, 
                               //ArrayBndQueue<Integer>) is undefined
                               //for the type ArrayUnbndQueue<Integer> 
    }
}

我有一个方法可以添加两个队列并将它们 returns 作为一个新队列,我对通用数据类型不是很有经验,我相信它是什么导致了错误。

您没有 mergeQueue ArrayUnbndQueueQueueDemo 的任何方法。 因此,您必须在 QueueDemo:

main 方法中执行此语句
ArrayUnbndQueue<Integer> q3 = mergeQueue(q1, q2);

问题与泛型无关。