ConcurrentlinkedQueue 类型不是泛型的;它不能用参数<整数>参数化



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

 Queue<Integer>  myConcurrentLinkedQueue  = new ConcurrentlinkedQueue<Integer>();

期待收到您的来信,谢谢。

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

最后更新 : 这是我的错误,因为我创建了一个名为"ConcurrentLinkedList"的类,感到尴尬,对不起我琐碎的问题,谢谢大家。

您可能正在使用来自不同包的队列javax.jms.Queue;这会给您当前的错误。

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

应该工作

最有可能的是,您正在使用其中一个或两个类的另一个实现(例如,java.util.Queue 以外的其他内容),或者您正在构建非常旧的 JDK 版本,其中集合不是通用的。

检查您是否确实使用了java.util.concurrent,而不是例如,向后移植实用程序并发(edu.emory.mathcs.backport.java.util.concurrent)。 后者与Java 1.4兼容,不使用泛型。

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

相关内容

  • 没有找到相关文章

最新更新