ConcurrentlinkedQueue类型不是通用的;它不能使用参数<integer> </integer>进行参数化

时间:2012-12-11 12:20:04

标签: java collections queue

你能解释为什么我得到标题中提到的2个错误,当我尝试实例化ConcurrentlinkedQueue对象时,在Java SE文档中,ConcurrentlinkedQueue实现了Queue并且可以通用化,因为我想我可以写:

 Queue<Integer>  myConcurrentLinkedQueue  = new ConcurrentlinkedQueue<Integer>();
期待收到你的来信,谢谢你。

更新:我已经导入了java.util。*;

最后更新:这是我的错误,因为我创建了一个名为'ConcurrentLinkedList'的课程,感到很尴尬,抱歉我的琐碎问题,谢谢大家。

4 个答案:

答案 0 :(得分:3)

您可能正在使用来自其他软件包的队列javax.jms.Queue;,这会给您当前的错误。

     java.util.Queue<Integer>  myConcurrentLinkedQueue  = new ConcurrentLinkedQueue<Integer>();

应该有效

答案 1 :(得分:1)

很可能你要么使用这些类中的一个或两个的另一个实现(例如,除了java.util.Queue之外的其他类),或者你正在构建一个非常旧的JDK版本,其中一个集合不是不通用。

答案 2 :(得分:1)

检查您是否真的使用java.util.concurrent,而不是backport-util-concurrentedu.emory.mathcs.backport.java.util.concurrent)。后者与Java 1.4兼容,不使用泛型。

答案 3 :(得分:0)

我创建了一个名为ConcurrentLinkedList的类,很抱歉给您带来不便。