java - 将 LinkedBlockingQueue<> 中的数据放入非对象类型的数组

标签 java exception casting classcastexception toarray

我正在尝试使用 .toArray() 从 LinkedBlockingQueue 复制到 dataStuff[] 数据数组,但出现异常

Exception in thread "main" java.lang.ClassCastException: [Ljava.lang.Object; cannot be cast to [LdataStuff;
    at Main.main(Main.java:30)

使用以下代码

public static BlockingQueue<dataStuff> recurseFragments = new LinkedBlockingQueue<dataStuff>();

    public static void main(String args[]) throws IOException
    {
        dataStuff[] data = (dataStuff[]) recurseFragments.toArray();
    }

我知道它将 recurseFragments 放入 object[] 中,然后再将其吐入数组中,但为什么转换不起作用以及如何解决这个问题?

最佳答案

尝试使用other toArray method

dataStuff[] data = recurseFragments.toArray(new datastuff[0]);

关于java - 将 LinkedBlockingQueue<> 中的数据放入非对象类型的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16112034/

相关文章:

java - 如何使用 Jackson 的@JsonIdentityInfo 进行有向图的反序列化?

c++ - std::map operator[] 中的违规读取位置

java - FaceDetector 无法解析为类型

c# - 有什么方法可以测试使用代码契约(Contract)设置的契约(Contract)吗?

Java:如何编写指定父类(super class)和接口(interface)的强制转换?

在 malloc 期间转换 size_t 以在 c 中初始化 char* 数组

java - 反射(reflection):如何找到一个接受对象列表的构造函数?

java - 如何在spring ws客户端请求中添加证书链

c - 将指向 char 的指针转换为指向 int 的指针后出现意外的字节顺序

java - 解析依赖项时出现 Maven 错误