2017-07-16 127 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

添加或删除一个类的类型参数不,本身具有用于二进制兼容性任何影响。

相关问题