我正在编写一个可以调用自身多达 5000 次的函数。当然,我得到一个StackOverflowError
. 有什么方法可以以相当简单的方式重写此代码?:
void checkBlocks(Block b, int amm) {
//Stuff that might issue a return call
Block blockDown = (Block) b.getRelative(BlockFace.DOWN);
if (condition)
checkBlocks(blockDown, amm);
Block blockUp = (Block) b.getRelative(BlockFace.UP);
if (condition)
checkBlocks(blockUp, amm);
//Same code 4 more times for each side
}
顺便问一下,我们可以调用函数的深度有什么限制?