我最近开始使用Eclipse进行Android开发。通过代码调试时,我注意到一个奇怪的行为(至少与Visual Studio相比):在函数中间点击return语句后,它不会立即返回,而是始终跳转到最后一个return语句。例如:
String getTest(int i){
if (i == 0)
return "0";
return "-1";
}
给定i = 0,在命中第一个return语句后,它会跳到下一个return语句,而不是退出此函数。但是,它确实返回“0”,而不是“-1”。那么,为什么要执行此虚拟步骤呢?这让我感到困惑。有人可以解释为什么吗?
最佳答案
这与从功能中确切构成“返回”有关。尽管这取决于平台,但返回通常必须:
只有返回值不同,编译器可以选择一次生成机器代码(在Java中为字节码),然后从不同的位置跳转到机器代码。 Eclipse可能显示出这种跳跃。