0

我目前正在研究android项目,我不确定我是否真的很累并且做了一些愚蠢的事情,但对我来说没有任何意义。我有以下代码:

long pauseTime = settings.getLong("timePaused", 0);
        long currentTime = common.getCurrentEpochTimeStamp();
        int difference = (int) (currentTime - pauseTime);
        int secondsBeforeLogOff = settings.getInt("autoLogOffTime", 10) * 60;
        if (secondsBeforeLogOff > difference)
        {
            return true;
        }
        else
        {
            return false;
        }

当我调试并单步执行上面的代码时,secondsBeforeLogOff设置为 60,设置difference为 5。在 if 语句中,我希望它评估为 false,但是当我单步执行代码时,它进入两个return true然后进入return false,但是在调用此代码的 if 语句中,它似乎总是返回 true。

我不明白这个 if 语句有什么问题,我尝试在 if 语句中交换两个变量,但没有成功。

感谢您的任何帮助,您可以提供。

4

2 回答 2

1

当我调试并逐步执行上面的代码时, secondsBeforeLogOff 设置为 60,差异为 5.... 它似乎总是返回 true。

这是正确的,因为 60 大于 5。


你也可以简单地写:

return secondsBeforeLogOff > difference;
于 2012-12-03T21:48:12.717 回答
0

eclipse 调试器总是这样做给你一个错误的印象,即遇到了哪个条件。:(

于 2012-12-03T21:52:41.677 回答