你能解释一下为什么当我尝试实例化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的类,很抱歉给您带来不便。