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

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

為什么Javac會抱怨與類的類型參數(shù)無關(guān)的泛型?

為什么Javac會抱怨與類的類型參數(shù)無關(guān)的泛型?

為什么Javac會抱怨與類的類型參數(shù)無關(guān)的泛型?請按順序閱讀代碼中的注釋,那里的問題詳細(xì)信息。為什么會發(fā)生這種差異?如果可能,請引用JLS。import java.util.*;/**  * Suppose I have a generic class  * @param <T> with a type argument.  */class Generic<T> {     // Apart from using T normally,     T paramMethod() { return null; }     // the class' interface also contains Generic Java Collections     // which are not using T, but unrelated types.     List<Integer> unrelatedMethod() { return null; }}@SuppressWarnings("unused")public class Test {     // If I use the class properly (with qualified type arguments)     void properUsage() {         Generic<String> g = new Generic<String>();         // everything works fine.         String s = g.paramMethod();         List<Integer> pos = g.unrelatedMethod();         // OK error: incompatible types: List<String> := List<Integer>         List<String> thisShouldErrorCompile = g.unrelatedMethod();     }     // But when I use the raw type, *ALL* the generics support is gone, even the Collections'.     void rawUsage() {         // Using Generic<?> as the type turns fixes the warnings below.         Generic g = new Generic();         // OK error: incompatible types: String := Object         String s = g.paramMethod();         // WTF warning: unchecked conversion: List<Integer> := raw List         List<Integer> pos = g.unrelatedMethod();         // WTF warning: unchecked conversion: List<String> := raw List         List<String> thisShouldErrorCompile = g.unrelatedMethod();     }}邊注我最初是在IntelliJ IDEA中找到這個(gè)的,但是我猜編譯器與javac兼容,因?yàn)楫?dāng)我用下面的代碼編譯上面的代碼時(shí),它給出了相同的錯(cuò)誤/警告。$ javac -version javac 1.7.0_05$ javac Test.java -Xlint:unchecked...$ javac Test.java -Xlint:unchecked -source 1.5 -target 1.5...
查看完整描述

1 回答

?
炎炎設(shè)計(jì)

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

JLS 4.8原始類型開始

僅允許使用原始類型作為對遺留代碼兼容性的讓步。強(qiáng)烈建議不要在將泛型引入Java編程語言后在編寫的代碼中使用原始類型。

未從其超類或超接口繼承的原始類型C的構(gòu)造函數(shù)(第8.8節(jié)),實(shí)例方法(第8.4節(jié),第9.4節(jié))或非靜態(tài)字段(第8.3節(jié))M的類型為與之對應(yīng)的原始類型在與C對應(yīng)的通用聲明中刪除其類型。

如果仔細(xì)閱讀,這意味著所有類型都將被刪除,而不僅僅是您遺漏的類型。


查看完整回答
反對 回復(fù) 2019-09-26
  • 1 回答
  • 0 關(guān)注
  • 506 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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