1

以下の関数のデバッグ中に奇妙な動作が発生しました (コンテキストは Android ですが、これは一般的な Java の質問である可能性があります)。if 条件が真で、カーソルが「return true」にジャンプした場合でも、カーソルが移動して「return false」にジャンプします。そして、動作は再現可能です!これはどのように可能ですか?

public boolean onTap(GeoPoint p, MapView mapView) {
    if(super.onTap(p, mapView)) {//We tapped on an overlay item

        return true;
    }

    Log.i(TAG, "jumping to return false");
    return  false;

}
4

3 に答える 3

0

ファイルをデバッグするときは、このJavaファイルを編集したことを確認してください。たとえば、行を削除するか行を追加すると、デバッグ行は実際にはそうではありません。

于 2012-09-17T03:28:27.980 に答える
0

私はこれを Eclipse デバッガーで何度も見てきました。メソッドは true を返しますが、デバッガーはユーザーに false を返すと思わせます:(

于 2012-09-17T02:05:57.037 に答える
0

ご心配なく。実際、これは eclipsedebugger の動作の関数にすぎません。あなたの例では「return false」は実行されませんのでご安心ください。私はこれを何度も見てきたので、あなたが見ている問題を正確に知っていますが、私が言ったように、それはデバッガーの動作の仕方ですが、条件が失敗した場合、実際には true のみが返されます.

于 2012-09-17T04:48:28.230 に答える