3

日食で条件付きブレークポイントを使用する方法を知りたいです。私は次のようなコードを持っています:

for(A a:aList){}

私はすでに行にbreakponitを入れており、条件を設定しています

a.getXxx.equals("yyy")

しかし、Eclipseはエラーを表示します:

Conditional breakpoint has compliation error(s).
Reason:
a cannot be resolved

理由を見つけるのを手伝ってください。

4

1 に答える 1

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

于 2012-05-29T08:11:37.637 に答える