下面讲一种MyEclipse中不进断点的情况,先看代码:
package com.mhx.debugtest;
public class DebugTest {
public static void main(String args[]) {
boolean flag = false;
if (flag) {
System.out.println("if");
} else if (!flag) {
System.out.println("else if");
}
}
}
如果将断点打在else所在的行,当flag==false时,debug是不会进入else体内的,为什么?
这是因为if体的结束括号与else位于同一行,由于flag是false,所以MyEclipse的Debug会直接跳过if体(其中包括else所在行的代码)
个人认为这是MyEclipse2014的一个Bug,之前的版本估计也有这个问题,暂时还没有测试2015版本是否修正了这个问题。
为了避免这种情况,我们可以考虑将断点打在前面一些,或者将else回车换到下一行。
发现问题,灵活变通才是关键!