我們在一個大項目中使用GWT。 在一些情況下,這種代碼能夠產生NoSuchElementException
:GWT,NoSuchElement例外
for (Object o: myList) {
}
有內部沒有ArrayList中的修改。
但是這種情況發生在最近。
在生成的應用程序的源代碼,我發現:
var context, context$iterator, operation;
operation = doDeserialize(this$static, ctx, json);
for (context$iterator =
new java_util_AbstractList$IteratorImpl_AbstractList$IteratorImpl__Ljava_util_AbstractList_2V(this$static.jetbrains_jetpad_otmodel_ot_persistence_OperationPersistenceContext_myContextDelegates);
context$iterator.java_util_AbstractList$IteratorImpl_i < context$iterator.java_util_AbstractList$IteratorImpl_this$0.size__I();
) {
context = java_util_AbstractList$IteratorImpl_$next__Ljava_util_AbstractList$IteratorImpl_2Ljava_lang_Object_2(context$iterator);
}
所以第一這個返回true:iterator.i < iterator.size();
但在下一行(in .next())
此代碼也返回true:iterator.i >= iterator.size();
我可以重現在鉻只要。
如果您認爲您發現了一個錯誤,並且假設您使用的是最新版本,請通過https://code.google.com/p/google-web-toolkit/issues/entry –
提交問題我是貢獻者GWT,我不知道這是一個錯誤,bcz我不知道它怎麼會是:-( – AKonst