小编典典

Cursor.hasNext引发java.util.NoSuchElementException

java

public String ForDate(String date) {
    MongoCursor<Document> cursor = collection.find(eq("date", date)).iterator();
    basicb b = new basicb();
    while (cursor.hasNext()) {
       b.setDepartament(cursor.next().getString("departament"));
       b.setText(cursor.next().getString("text"));
       b.setTitle(cursor.next().getString("title"));
       lista.add(b);
    }
}

我只想从mongodb信息中处理对象,但是当我执行此方法时,要使一些对象成为对象,但总是返回该错误java.util.NoSuchElementException。


阅读 288

收藏
2020-11-30

共1个答案

小编典典

可能的问题是,您next在一个循环中调用了3次方法。您应该调用一次并将其结果存储在变量中,因为它会next检索迭代中的下一个元素

while (cursor.hasNext()) {
   Document element = cursor.next();
   b.setDepartament(element.getString("departament"));
   b.setText(element.getString("text"));
   b.setTitle(element.getString("title"));
   lista.add(b);
}
2020-11-30