第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機(jī)立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

擴(kuò)展可比的Java通用類不能轉(zhuǎn)換為java.base / [Ljava.lang

擴(kuò)展可比的Java通用類不能轉(zhuǎn)換為java.base / [Ljava.lang

慕桂英3389331 2021-04-16 14:16:57
我正在嘗試將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ù)組!
查看完整描述

1 回答

?
繁花不似錦

TA貢獻(xiàn)1851條經(jīng)驗(yàn) 獲得超4個贊

您需要使用:

arr = (T[]) new Comparable[5];

代替

arr = (T[]) new Object[5];

作為類型擦除后T[] arrComparable[] arr。所以

T[] arr = (T[]) new Object[5];

會變成

Comparable[] arr = (Comparable[]) new Object[5];

顯然,它將拋出java.lang.ClassCastException


查看完整回答
反對 回復(fù) 2021-04-28
  • 1 回答
  • 0 關(guān)注
  • 187 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號