2014-10-17 94 views
-2

什麼是Java泛型中的類型擦除?什麼是Java泛型中的類型擦除?

當我閱讀時,它發生在編譯時,但我的問題是:如果它發生在編譯時,知道它是如此重要嗎?

什麼是一個簡單的例子,它是如何工作的,編譯器會發生什麼,以及我們在哪裏使用類型擦除?

+2

重要的是要知道,泛型類型不在運行時出現,僅在編譯時。 – Smutje 2014-10-17 11:59:00

+0

Yo @ vikingsteve,謝謝。 – Terminator 2014-10-17 12:06:16

+1

@TAsk謝謝你的幫助! – Terminator 2014-10-17 12:06:52

回答

0

Java中的泛型基本上只是開發者的語法糖。它們在運行時不存在,並且具有許多開發人員必須注意的分支。例如,在C#中可能有這樣的東西:

public interface A<T> { ... } 

public class Example : A<String>, A<Float> { ... } 

但是,由於類型擦除,這在Java中是不可能的。無論是在C#還是Java中,每個類只能實現一次接口。但是由於類型擦除,泛型在Java中並不重要,並且A<String>A<Float>是完全相同的類。