我目前正在研究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语句中交换两个变量,但没有运气。
感谢您提供的任何帮助。
答案 0 :(得分:1)
当我调试并逐步执行上面的代码时,secondsBeforeLogOff设置为60,差值为5. ...它似乎总是返回true。
这是正确的,因为60大于5。
你也可以简单地写一下:
return secondsBeforeLogOff > difference;
答案 1 :(得分:0)
eclipse调试器总是这样做会让你误以为是在哪个条件下。 :(