请注意这是一个错误的问题。我问了这个问题,因为当我尝试使用Iterator时,我的IntelliJ在“Iterator”上一直警告Iterator不能有类型参数,这是不正确的。使用清单的高效方式
不知何故,我的IntelliJ似乎显示了Java 1.4的javadoc。我仍然试图解决它。谢谢。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^
我在一个java程序中,一个api返回一个列表。
我处理这种方式是:
ArrayList<SomeObject> arrayList = new ArrayList<>(apiThatReturnsAList);
for (SomeObject someObject : arrayList) {
...
}
我的代码评审表明,这可能是对付它,因为它拷贝数据的效率较低的方式。他建议我使用迭代器。但我发现代码会是这样的:
Iterator iterator = apiThatReturnsAList.iterator();
while (iterator.hasNext()) {
SomeObject someObject = (SomeObject)iterator.next();
}
有丑陋的铸造在这里,我们不想看到,因为它不安全。
那么,有没有一种有效的方法来处理这个API,而不是复制数据?
谢谢!
您应该使用泛型。 – SLaks
为什么你认为你需要复制'List'?任何你为什么使用** raw type **'Iterator'。你为什么直接引用一个'ArrayList'。如果我是你的评论者,我会对这个烂摊子有不少评论。 –
简单地迭代返回的列表首先出现什么问题? – GhostCat