【发布时间】:2013-10-22 06:18:14
【问题描述】:
我想要一个带有通用 A 类的同步 LinkedList,这里是相关部分:
public abstract class A<T extends B> implements Runnable {
B 的接口,“真正的”B,将是一个子类
public interface B{
以下设置将引发运行时错误:
LinkedList<A<? extends B>> eopList = (LinkedList<A<? extends B>>) Collections
.synchronizedCollection(new LinkedList<A<? extends B>>());
我找到了以下建议,但它也不会编译:
LinkedList<A<? extends B>> eopList = (LinkedList) Collections
.synchronizedCollection(new LinkedList<A<? extends B>>());
这是日志:
Exception in thread "main" java.lang.ClassCastException: java.util.Collections$SynchronizedCollection cannot be cast to java.util.LinkedList
【问题讨论】:
-
这些不是编译错误。它们是运行时异常。
标签: java generics linked-list synchronized classcastexception