gpt4 book ai didi

java - Iterator 返回对象

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:56:04 24 4
gpt4 key购买 nike

我写了简单的类:

public class Report<T> implements Iterable {
private ObservableList<T> items = FXCollections.observableArrayList();
// ...

public ObservableList<T> getItems() {
return items;
}

public Iterator<T> iterator {
return items.iterator();
}

// ...
}

但是当我尝试像这样使用 foreach 循环时,我得到了类型不兼容的错误:

Report<FinRecord> report = new Report<>()
for (FinRecord r : report) {
// ...
}

这段代码工作正常,但我想要更简洁的代码,但我不明白为什么以前的代码会返回 Object。

for (FinRecord r : report.getItems()) {
// ...
}

是不是java的特性,所以创建了Iterator不是 Iterator<T>或者我遗漏了什么?

最佳答案

你的类(class)必须implements Iterable<T> .

public class Report<T> implements Iterable<T>
{
private ObservableList<T> items = FXCollections.observableArrayList();
// ...

public ObservableList<T> getItems() {
return items;
}

public Iterator<T> iterator() {
return items.iterator();
}

// ...
}

关于java - Iterator<T> 返回对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21750556/

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