[英]Overload java method by List<>
我有代碼,方法是用List<>
參數覆蓋
RetrunType1 func(List<Type1> arg);
ReturnType2 func(List<Type2> arg);
和Type1!= Type2,但是該代碼可以在jdk1.6.0_45上編譯並正常工作。 我知道此示例無法編譯和運行。 我怎么能理解?
這里的問題是所謂的類型擦除,您可以在此處閱讀。 然而,簡短的版本是Java編譯器將刪除通用參數,以使字節代碼與以前的Java版本兼容。 所以這兩種方法都有簽名
RetrunType1 func(List arg);
ReturnType2 func(List arg);
因此對於Java而言,這些功能看起來幾乎相同。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.