2012-03-29 67 views
0

我有一个类的arraylist,当我执行下面的函数时,我有时会得到一个StackOverflowError,我不是100%确定为什么,肯定if语句应该排除?它只包含< 500个元素,没有其他线程摆弄“toCheck”。StackOverflowError当删除ArrayList对象

if(toCheck.contains(currentConsideration)){ 
    toCheck.remove(currentConsideration); 
} 

任何帮助将不胜感激!

+3

你可以张贴currentConsideration对象的equals方法? – 2012-03-29 13:18:01

+1

这段代码看起来不错。但我怀疑它在循环中使用。你能给我们更多的代码吗? – bigGuy 2012-03-29 13:19:26

+3

尝试删除'toCheck.contains(currentConsideration)'并仅使用'toCheck.remove(currentConsideration);'。如果存在,它将删除该元素。 – 2012-03-29 13:20:23

回答

0

这可能是因为您正在尝试删除您尝试在列表中找到它的对象... ConcurrentModificationException。

如果您尝试调试。什么时候你会得到那朵错误

发布的解决方案,如果您发现有任何