继承与继承列表
B 类扩展了 A 类
。我有一个 B 列表(List list1)
,但对于某些操作,我只需要 A 类字段,但 List list2 = list1 不起作用。如何解决这个问题呢?
Class B extends class A
. I have a list of B (List<B> list1)
, but for some operations I need only class A fields, but List<A> list2 = list1
doesn't work. How can this problem be solved?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这意味着“
A
的特定子类型的列表”。如果您可以使用
List
(这意味着“A 及其所有子类的列表”),您将失去编译时安全性。想象:This means "a list of a specific subtype of
A
".If you could use
List<A>
, which means "a list of A an all of its subclasses", you would loose the compile time safety. Imagine:泛型是类型严格的,它们不支持像数组这样的协变类型。
Generics are type strict , they don't support co-variant types like array.