2013-03-07 28 views
5

在Eclipse中,有没有什么方法可以找到哪个返回语句返回的方法没有在每个返回语句记录标志?从Java中的方法退出点

例如:

@Override 
public boolean equals(Object obj) { 
    if (this == obj) { 
     return true; 
    } 
    if (obj == null) { 
     return false; 
    } 
    if (!(obj instanceof ABC)) { 
     return false; 
    } 
    ABC other = (ABC) obj; 
    if (var1 == null) { 
     if (other.var1 != null) { 
      return false; 
     } 
    } else if (!var1.equals(other.var1)) { 
     return false; 
    } 
    return true; 
} 

在这种情况下,我怎么找到我的点equals方法返回的有哪些?

+12

使用调试器并在每个return语句上设置一个断点。 – Marvo 2013-03-07 23:04:46

+0

也许这就是为什么一个好的做法是使每个功能单一返回... – m4573r 2013-03-07 23:07:23

+0

@Marvo这将工作。我可以进入调试模式并逐行执行。我不想在这个等于函数的150个回报上加上断点。谢谢。 – 2013-03-07 23:10:30

回答

3

不,但更易于理解和调试的代码可以使用表示结果的布尔型局部变量。

然后你可以看到调试器谁分配它时,返回值返回前。

+1

因此,如果我在变量声明中放置了断点,调试器在访问变量时会暂停吗?我将不得不尝试一下。 – 2013-03-07 23:11:22

+1

它不会在每次访问时暂停,但您必须将该变量赋值为false而不是返回并在末尾处理布尔值。您可以在将变量分配给false的每个地方分配断点 – Ron 2013-03-07 23:16:22

2

在调试模式下使用断点。