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

我在 Eclipse 调试器中见过很多次。该方法返回 true,但调试器让用户认为它返回 false :(

于 2012-09-17T02:05:57.037 回答
0

确保在调试文件时已编辑此 java 文件。例如,删除一行或添加一行然后调试行不是真的。

于 2012-09-17T03:28:27.980 回答
0

别担心。真的,它只是 eclipsedebugger 行为方式的一个函数。请放心,在您的示例中不会执行“return false”。我已经看过很多次了,所以我确切地知道你看到的问题,但就像我说的,这只是调试器的行为方式,但如果条件失败,实际上只会返回 true。

于 2012-09-17T04:48:28.230 回答