-2
什麼是Java泛型中的類型擦除?什麼是Java泛型中的類型擦除?
當我閱讀時,它發生在編譯時,但我的問題是:如果它發生在編譯時,知道它是如此重要嗎?
什麼是一個簡單的例子,它是如何工作的,編譯器會發生什麼,以及我們在哪裏使用類型擦除?
什麼是Java泛型中的類型擦除?什麼是Java泛型中的類型擦除?
當我閱讀時,它發生在編譯時,但我的問題是:如果它發生在編譯時,知道它是如此重要嗎?
什麼是一個簡單的例子,它是如何工作的,編譯器會發生什麼,以及我們在哪裏使用類型擦除?
Java中的泛型基本上只是開發者的語法糖。它們在運行時不存在,並且具有許多開發人員必須注意的分支。例如,在C#中可能有這樣的東西:
public interface A<T> { ... }
public class Example : A<String>, A<Float> { ... }
但是,由於類型擦除,這在Java中是不可能的。無論是在C#還是Java中,每個類只能實現一次接口。但是由於類型擦除,泛型在Java中並不重要,並且A<String>
和A<Float>
是完全相同的類。
重要的是要知道,泛型類型不在運行時出現,僅在編譯時。 – Smutje 2014-10-17 11:59:00
Yo @ vikingsteve,謝謝。 – Terminator 2014-10-17 12:06:16
@TAsk謝謝你的幫助! – Terminator 2014-10-17 12:06:52