我想知道如何在eclipse中使用条件断点。我有一个代码:
for(A a:aList){}
我已经在线上放了一个breakponit,我已经设置了条件
a.getXxx.equals("yyy")
但是eclipse给我一个错误:
Conditional breakpoint has compliation error(s).
Reason:
a cannot be resolved
请帮我找到原因。
答案 0 :(得分:4)
你必须将断点放在循环中的第一行中,因为在循环的行上还不知道。
List<Object> myObjects = ...;
for (Object obj : myObjects ) {
obj.doSth();
}
您可以将断点放在“obj.doSth();
”
这实际上是因为对于foreach循环,编译器除了调用Iterator.next()之外什么都不做;方法作为循环中的第一个语句(您不会注意到编译器会自动执行此操作)。 看看java规范: http://docs.oracle.com/javase/specs/jls/se5.0/html/statements.html#14.14.2