定义objQueue也会得到相同的结果。

public class objQueue extends Vector<Object>
{
...
}

...

objQueue<Customer>[] line=new objQueue<Customer>[num]; //error given on this line


我将其更改为公共class objQueue<Object> extends Vector<Object>,但现在显示为Cannot create a generic array of objQueue<Customer>。我想定义自己的队列,是否应该命名Queue或其他名称以避免冲突?我正在使用import java.util.*;

如果将其更改为objQueue<Customer> [] line=new objQueue[num];,则会发出警告:类型安全:objQueue []类型的表达式需要未经检查的转换才能符合objQueue []

最佳答案

假设您指的是Queue,对于java.util.Queue来说应该没问题。您不能为objQueue指定类型参数,因为它没有被声明为泛型。您必须将其声明为:

public class ObjQueue<E> extends Vector<E>


或类似的东西。

关于java - 队列类型不是通用的;不能使用参数<Customer>对其进行参数化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9722360/

10-12 05:53