我正在关注Java中xml解析的教程(ThinMatrix在.youtube上),并通过逐步尝试理解代码的工作原理。
apply
在此块中,第一次执行第一个“ if语句”,即解析器第一次读取关闭标记,执行“ return null”行,然后程序跳转到while语句,方法的底部。我以前没有看到过这种行为-为什么程序在“返回null”语句后没有退出该方法。
答案 0 :(得分:0)
为什么程序在“ return null”语句之后不退出该方法?
{em>方法在sudo iptables -t nat -A OUTPUT -o lo -p tcp --dport 443 -j REDIRECT --to 8443
语句后退出。这不同于程序退出。通常,在递归方法中,同一方法有多个“副本”同时运行(彼此内部有点不同)。因此,对return null
的内部函数调用之一在loadNode()
语句处退出,并且return null;
的调用是从loadNode()
处的“外部”方法调用中进行的声明。
递归可能有点棘手:)
答案 1 :(得分:0)
我感觉到您的调试中断是在“返回null”上。行而不是其上方的IF语句,因此您实际上并没有突破第一次迭代。这意味着,当它返回null时,调试器将返回到调用该方法实例的代码行,即WHILE行。
如果“节点”中有东西,或者将调试器的断点更改为该方法的第一行,您也许可以验证这一点。