你能解释为什么我得到标题中提到的2个错误,当我尝试实例化ConcurrentlinkedQueue对象时,在Java SE文档中,ConcurrentlinkedQueue实现了Queue并且可以通用化,因为我想我可以写:
Queue<Integer> myConcurrentLinkedQueue = new ConcurrentlinkedQueue<Integer>();
期待收到你的来信,谢谢你。
更新:我已经导入了java.util。*;
最后更新:这是我的错误,因为我创建了一个名为'ConcurrentLinkedList'的课程,感到很尴尬,抱歉我的琐碎问题,谢谢大家。
答案 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-concurrent(edu.emory.mathcs.backport.java.util.concurrent
)。后者与Java 1.4兼容,不使用泛型。
答案 3 :(得分:0)
我创建了一个名为ConcurrentLinkedList的类,很抱歉给您带来不便。