我对以下文章有些困惑:http://www.ibm.com/developerworks/java/library/j-jtp01255.html
在“泛型不是协变的”下,作者提到:
因为ln是一个List,向其中添加一个Float似乎完全合法。但如果ln与li同名,则会打破定义li的隐含类型安全承诺——它是一个整数列表,这就是为什么泛型类型不能是协变的原因。
我不理解它说“如果ln与li同名”,作者什么意思?(是指引用吗?)引用的代码片段表明了Java中不合法的内容,但并没有说明为什么不合法。如果有人能举个例子来解释一下,那对我会非常有帮助。 谢谢。
因为ln是一个List,向其中添加一个Float似乎完全合法。但如果ln与li同名,则会打破定义li的隐含类型安全承诺——它是一个整数列表,这就是为什么泛型类型不能是协变的原因。
我不理解它说“如果ln与li同名”,作者什么意思?(是指引用吗?)引用的代码片段表明了Java中不合法的内容,但并没有说明为什么不合法。如果有人能举个例子来解释一下,那对我会非常有帮助。 谢谢。