簡體   English   中英

Java編譯器如何為較低邊界的通配符執行類型擦除?

[英]How does the Java compiler perform type erasure for lower bounded wildcards?

在使用泛型類型編譯源代碼時,Java編譯器會自動執行類型擦除,用適當的原始類型替換泛型聲明。

根據Oracle文檔,這個擦除取代了上面的綁定通配符<? extends T> 使用T <? extends T>這非常適合動態多態。

但是對於有界較低的通配符<? super T>如何執行此擦除<? super T> <? super T>看到每個類都有一個共同的超類(Object),使用它會破壞整個目的嗎?

對於超類型,它將擦除為對象類型。 <?super T>僅用於編譯時驗證

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM