歡迎您光臨本站 註冊首頁

Java 泛型擦除

←手機掃碼閱讀     admin @ 2020-05-10 , reply:0

最近在學習泛型,一直不理解泛型擦除是怎麼回事,也查閱很多部落格但還是不理解,都沒說清楚泛型擦除是怎麼進行的,是怎麼擦除的,都是說泛型擦除是在編譯後,然後將泛型資訊擦除,將泛型編譯為引數型別對應的型別:

有Test.java檔案,檔案內容為

public static void main(String[] args){
 
 List<String> list=new ArrayList();①
 
 }

問題1:泛型擦除是在編譯後,編譯後就是把全部.java檔案編譯成.class檔案,擦除是擦除的是執行①後的實際物件中的嗎?這似乎也說不通,因為new ArrayList() 的時候並沒有限定型別,只是在宣告的時候限定了型別

 

問題2:因為查閱資料都說的是編譯後進行泛型擦除,就是說這個不可能是在new一個物件的時候進行泛型擦除,因為編譯時還不能確定new 的具體是哪個物件,

那麼泛型擦除到底是哪個階段進行的?泛型擦除的具體wei'z是在哪?


[admin ]

來源:OsChina
連結:https://www.oschina.net/question/3939240_2316318
Java 泛型擦除已經有140次圍觀

http://coctec.com/news/soft/show-post-233529.html