public class ClassA {
public void count(int i)
{
count(++i); //throws StackOverFlowError
}
public static void main(String[] args) {
ClassA a = new ClassA();
a.count(3);
}
}
當我調試代碼時,我可以看到它在count方法內的調用count方法,但是在pre-increment之後,爲什麼在不退出方法的情況下繼續遞增i
變量?爲什麼會拋出StackOverflowError?
您再次使用遞增的值調用該方法。這個數字無限。 – dhke
放置一個條件來停止遞歸循環。 – Shriram
您正在使用遞歸調用您的方法而沒有任何中斷條件。 – Abubakkar