gpt4 book ai didi

java - 如何在 Iterator 中存储对象?
转载 作者:行者123 更新时间:2023-11-30 03:18:43 26 4
gpt4 key购买 nike

所以我有一个变量字符串,我想将其存储在字符串类型的迭代器中,但我不断收到错误消息,指出它是不兼容的类型。如何在迭代器中存储字符串变量?

Incompatible Types:
Required: java.util.Iterator <java.lang.String>
Found: java.lang.String

这是我到目前为止所做的:

Iterator<?> perEntry = entries.iterator();
Iterator<String> ids;
while (perEntry.hasNext()) {
ids = perEntry.next().getId();
}

如有任何帮助,我们将不胜感激,谢谢!

附注我忘了包含这个,但是我如何返回这个迭代器?我收到一条错误消息,指出它找到了 java.util.ObjectType,并且它需要 java.util.Iterator。

最佳答案

您误解了迭代器。迭代器等同于正在迭代的集合中的对象。相反,它的作用就像指向此类对象的“指针”。

如果您有Iterator<Entity> ,您可以获得Entity通过调用 next() 来摆脱它。但是,迭代器本身仍将是 Entity 上的迭代器。 。无法转换为 String 的迭代器.

但是,您可以将迭代器中的所有字符串收集到集合中,如下所示:

List<String> idList = new ArrayList<>();
while (perEntry.hasNext()) {
idList.add(perEntry.next().getId());
}

一旦您拥有 idList列表充满了数据,你可以获取它的迭代器。这将是 Iterator<String> ,因为idList元素的类型为 String :

Iterator<String> ids = idList.iterator();

关于java - 如何在 Iterator<object> 中存储对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31883345/

26 4 0