gpt4 book ai didi

java - 创建 ListIterator 时会发生什么?

转载 作者:行者123 更新时间:2023-12-02 00:37:59 26 4
gpt4 key购买 nike

我有两个类:ParentClass 和 SubClass。子类继承自父类。我有以下代码:(在类内)

List<SubClass> lstSub;

//some initialization

public ListIterator getLstIterator(int i) {
return lstSub.listIterator(i);
}

客户端类按以下方式使用它:

ListIterator<ParentClass> lstParent = getLstIterator(0); //assign ListIterators

那么问题来了:程序在分配 ListIterator 时执行什么操作:

1) 它创建一个新列表并从源列表中复制其中的元素,将它们转换为 ParentClass;

2) 它只是创建一个到 lstSub 的链接,从这时起,这个列表被解释为 ListIterator 的 List?

或者它还有其他作用?我对它感兴趣是因为程序的性能。我是 Java 新手,感谢您的帮助。

最佳答案

它不会创建另一个列表。如果您在不知道列表中的类的情况下获得列表迭代器,那么这将是您的泛型使用中的错误。当您执行该作业时,您应该会收到警告,但这只是警告。当你实际使用它时,它会转换到任何类别。正确地,您应该将其保留为 ListIterator<? extends ParentClass>如果你想要一个列表迭代器,但实际上保留一个迭代器有点奇怪。

最后,只是一点建议,我不会太担心语言功能的性能,特别是如果您刚刚熟悉该语言。

关于java - 创建 ListIterator 时会发生什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7209909/

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