我正在嘗試將Object []數(shù)組強(qiáng)制轉(zhuǎn)換為通用排序,我已經(jīng)實(shí)現(xiàn)了這部分代碼public class SortedArraySet<T extends Comparable<T>> implements Set<T>, Comparator<T> { T[] arr; int size = 5, index = 0; @SuppressWarnings("unchecked") SortedArraySet() { arr = (T[]) new Object[5]; System.out.println("New set was initiated"); } @Override public int compare(T a, T b) { if (a.compareTo(b) > 0) return 1; else return 0; }每當(dāng)我運(yùn)行它時,我都會收到以下編譯錯誤線程“主”中的異常java.lang.ClassCastException:java.base / [Ljava.lang.Object; 無法轉(zhuǎn)換為java.base / [Ljava.lang.Comparable; 在q3.SortedArraySet。(SortedArraySet.java:12)在q3.q3main.main(q3main.java:6)在第6行中說明如下SortedArraySet<Integer> sa = new SortedArraySet<Integer>();在添加擴(kuò)展Comparable(和compareTo)以便對集合進(jìn)行排序之前,使用該代碼可以正常工作并且可以使用Collections.sort嗎?我已經(jīng)嘗試過了,但它似乎不適用于這樣的數(shù)組!
擴(kuò)展可比的Java通用類不能轉(zhuǎn)換為java.base / [Ljava.lang
慕桂英3389331
2021-04-16 14:16:57