3

hasNext()コードをデバッグすると、 のメソッドがIterator返されることがわかりましたtrueが、next()メソッドは NoSuchElementException をスローしました。

以下は私のコードです:

 Collection<TradeStock> restBuy=em.createQuery("select t from TradeStock ...t.getResultList();

if(!restBuy.isEmpty())
{
    Iterator itrest=restBuy.iterator();
    while(itrest.hasNext())
    {
        TradeStock ts=(TradeStock)itrest.next();
        x+=ts.getTradeExecutedQuantity();
    }
}

私は何を間違えていますか?

4

2 に答える 2

2

「コードをデバッグした」と言うとき、Eclipse のようにデバッガーを使用してデバッグすることを意味しますか?
評価された式 ( Eclipse の [] タブ) にitrest.next()が含まれている場合、デバッガーはnext()メソッドを呼び出して、コードに認識されることなく Iterator の状態を変更します。itrest.next()を評価せずに、またはログメッセージを使用して、
これをデバッグしてみてください

于 2012-06-11T05:38:17.927 に答える
1

サーバーを再起動してアプリを再デプロイしたときにコードが機能したので、推測するコードに問題はありませんでした。Glassfishのこの奇妙な動作を理解できません。

于 2012-06-11T05:58:31.740 に答える