2017-07-16 45 views
0

Java的JList的是現在的參數,和參數最初是在Java的1.7介紹:type JList does not take parameter type <String>爲什麼JList參數化在Java中不兼容?

爲什麼與已經編譯了Java 1.6的編譯器,但在Java 1.7 JRE正在運行的應用程序沒有這個類參數突破兼容性?我自然會認爲,當一個類的參數數量變得如此基本時,兼容性會被破壞。

類似的問題(可能有相同的答案):ExecutorService的的了的invokeAll Java 1.5中收集<贖回<牛逼> >,但現在它需要收集<?擴展Callable <T> >。爲什麼這不會破壞二進制兼容性?

相關:What is binary compatibility in Java?

+0

歡迎來到Type Erasure的樂趣。 –

+3

這與ArrayList以及現在參數化的所有其他舊類型有什麼不同? –

回答

2

引用JLS Sec 13.4.5

添加或刪除一個類的類型參數不,本身具有用於二進制兼容性任何影響。

相關問題