gpt4 book ai didi

Java List 如何设置和获取父类型列表的子对象

转载 作者:搜寻专家 更新时间:2023-10-31 19:54:37 24 4
gpt4 key购买 nike

如果我有一个父对象的链表,例如:

LinkedList<ParentClass> list = new LinkedList<ParentClass>();

我想用不同类型的子对象(都扩展“ParentClass”)来填充它们,我将如何去做呢?另请注意,我不知道将使用哪个特定的子类。例如我可以尝试这样做:

list.add(someInstanceOfAChildClass);

然后能够访问该子类中的方法和属性。如果我没有明白我的意思,我可以澄清一下。提前致谢!

最佳答案

填写 List<Parent> 不会有任何问题与不同Child对象,但您无法访问 Child的方法和属性直接。如果您尝试分配 List Child 类型引用的成员,你会得到一个类型不匹配错误。

要解决此问题,您可以强制转换 List 返回的对象。明确地。

Child iThinkItsChild = (Child) listOfParents.get(indexOfChild);

但是,为了安全地进行操作,您应该使用 instanceof运算符(operator)优先。

Parent parent = listOfParents.get(indexOfChild);
if (parent instanceof Child) {
Child imSureItsChildNow = (Child) parent;
imSureItsChildNow.childMethod();
}

关于Java List 如何设置和获取父类型列表的子对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28784772/

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