當我使用Arrays.sort()有一個比較器和一個列表作爲一個集合,被預先轉換爲一個數組,我得到一個類轉換異常使用轉換表。這是我的代碼:拋出ClassCastException在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)
可能是什麼原因呢? thx提前!
'比較'和'名單'。錯字或潛伏的'ClassCastException'? –
錯字,沒有看到,sry – Blizzer
爲什麼你不使用'Collections.sort(somes,attrComparator);'? – jlordo