gpt4 book ai didi

java.lang.ClassCastException : Creating a synchronized Linked List 异常

转载 作者:行者123 更新时间:2023-11-29 06:36:37 25 4
gpt4 key购买 nike

我想要一个带有通用类 A 的同步链表,这里是相关部分:

public abstract class A<T extends B> implements Runnable {

B 的接口(interface),其中“真正的”B,将是一个父类(super class)

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

最佳答案

使用 Collections.synchronizedList() 方法代替。该方法返回 List<T> .因此,将 LHS 上的类型设置为 List , 避免类型转换:

List<A<? extends B>> eopList = Collections.synchronizedList(new LinkedList<A<? extends B>>());

关于java.lang.ClassCastException : Creating a synchronized Linked List 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19510360/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com