我正在尝试使用.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吐入数组之前将recurseFragments放入了object []中,但是为什么投射不起作用,我该如何解决呢?

最佳答案

尝试使用other toArray method

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

09-06 03:35