我正在Eclipse中编写一个java程序,当我尝试使用递归时,会出现这个错误:
线程“main”中的异常java.lang.StackOverflowError
我知道人们可能已经问过这个问题了,但我发现的每一个回复都是为了删除递归。对于我想要做的事情,递归是必要的。别无选择。我知道递归限制可以在Enthought Canopy(对于python)中修改,如下所示:
import sys
sys.setrecursionlimit(10000)
有没有办法在Eclipse中为java做这个?同样,删除递归不是一种选择。
更新:我发现问题(这是一个无限循环),代码现在正常工作。
答案 0 :(得分:1)
看看这个:What is the maximum depth of the java call stack?
虽然它不完全重复,但它也通过解释如何更改限制来回答您的问题。
请注意, Eclipse 本身与限制无关,它是 Java限制,可以通过分配更多空间来增加它
与往常一样,人们应该注意到您的代码可能效率低下,错误或者可能具有非递归替代方案。但是你说你对这样的解决方案不感兴趣,所以我把它留在这里作为旁注。