gpt4 book ai didi

java - ClassCastException 在 Arrays.sort(...) 中使用转换后的列表

转载 作者:行者123 更新时间:2023-12-01 08:11:47 26 4
gpt4 key购买 nike

当我将 Arrays.sort () 与比较器和列表作为集合(之前已转换为数组)一起使用时,出现类转换异常。这是我的代码:

List<SomeClazz> somes = new ArrayList<SomeClazz>();
Comparator<SomeClazz> attrComparator = new AttrComparator();

somes = createSomeObjectes(); // returnes a list of course

// this is line 25 where the exception occours
Arrays.sort((SomeClazz[])somes.toArray(), attrComparator);

异常消息:

Exception in thread "main" java.lang.ClassCastException:
[Ljava.lang.Object; cannot be
cast to [Lpack.SomeClazz; at pack.TestMain.main(TestMain.java:25)

这可能是什么原因?提前致谢!

最佳答案

(SomeClazz[])somes.toArray()

应该是

somes.toArray(new SomeClazz[somes.size()])

您无法将 Object[] 转换为 SomeClazz[],但这是将集合转储到您的数组类型中的“批准”方法选择。

关于java - ClassCastException 在 Arrays.sort(...) 中使用转换后的列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16656384/

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