Java - 泛型的型態抹除

這週就會結束這段Java的pick up旅程了。以前總是在工作中有需要時在網路資源上東看一塊、西看一塊完成開發,更可惜是較進階知識工作上碰不到。很高興終於完整地run完一輪。



簡單提要一下「泛型的型態抹除」:泛型語法的型態指定只在編譯時期給編譯器使用。在執行時期無法獲得型態資訊,造成有種「型態抹除」感覺。

如連結中例子說到:
List<Integer> list1 = new ArrayList<>();
List<String> list2 = new ArrayList<>();

=> Java可在編譯時期看出兩者型態不同,但執行時期時,Java只看作是「皆為List型態」且「都是空串列」,於是判定「list1與list2是相等的」。

以上,

連結(https://openhome.cc/Gossip/JavaEssence/GenericEquals.html)裡有更詳細說明和範例,滿值得看的。

留言

熱門文章