gpt4 book ai didi

java - 继承与列表

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:33:44 25 4
gpt4 key购买 nike

Class B extends class A .我有一个 B 列表( List<B> list1) ,但对于某些操作我只需要 A 类字段,但 List<A> list2 = list1 不起作用。如何解决这个问题?

最佳答案

List<? extends A> list2 = list1;

这意味着“A 的特定子类型的列表”。

如果你可以使用 List<A> ,这意味着“A 及其所有子类的列表”,您将失去编译时安全性。想象一下:

List<B> list1 = ..;
List<A> list2 = list1;
list2.add(new C());
for (B b : list1) {
//ClassCastException - cannot cast from C to B
}

关于java - 继承与列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6086936/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com