java 泛型协方差
2022-09-01 21:54:05
我无法理解以下文章:http://www.ibm.com/developerworks/java/library/j-jtp01255.html
下
泛型不是协变的
作者指出,
因为 ln 是一个列表,所以添加 Float 似乎是完全合法的。但是,如果 ln 与 li 混叠,那么它将打破 li 定义中隐含的类型安全承诺 - 它是整数列表,这就是为什么泛型类型不能是协变的原因。
我无法理解它说“如果ln与li别名”的部分。作者的别名是什么意思?(参考资料?引号行上方的代码片段似乎说明了Java中什么是非法的,而不是为什么。如果有人能用一个例子来解释,那对我来说会很有帮助。提前致谢。