Java 如何在eclipse中为foreach循环使用条件断点?
我想知道如何在eclipse中使用条件断点。我有这样一个代码:Java 如何在eclipse中为foreach循环使用条件断点?,java,eclipse,debugging,Java,Eclipse,Debugging,我想知道如何在eclipse中使用条件断点。我有这样一个代码: for(A a:aList){} 我已经把breakponit放在线上了,我已经设定了条件 a.getXxx.equals("yyy") 但是eclipse向我显示了一个错误: Conditional breakpoint has compliation error(s). Reason: a cannot be resolved 请帮我找到原因。您必须将断点放在循环中的第一行,因为循环行上还不知道断点。所以 List<
for(A a:aList){}
我已经把breakponit放在线上了,我已经设定了条件
a.getXxx.equals("yyy")
但是eclipse向我显示了一个错误:
Conditional breakpoint has compliation error(s).
Reason:
a cannot be resolved
请帮我找到原因。您必须将断点放在循环中的第一行,因为循环行上还不知道断点。所以
List<Object> myObjects = ...;
for (Object obj : myObjects ) {
obj.doSth();
}
列出myObjects=。。。;
对于(对象对象:MyObject){
obj.doSth();
}
您可以将断点放在“obj.doSth();
”行上
这实际上是因为对于foreach循环,编译器只调用迭代器。next();方法作为循环中的第一条语句(在编译器自动执行时,您不会注意到这一点)。
请看一下java规范:
您可能必须将断点放在循环内,而不是放在foreach循环上。您可以粘贴整个代码吗?它可以工作。我只是将断点设置在“for(xxx)”行上。谢谢。