繁体   English   中英

即使表达式为假,IF 语句仍在运行

[英]IF statement being run even though expression is false

我正在创建一个 Android Studios 任务列表应用程序。 出于某种原因,即使表达式为假,也会调用 IF 语句,从而在运行时产生错误。 代码如下:

if (taskArray5.get(0).equals( "Goal Time Not Specified") ) {

    Log.d("hello", taskArray5.get(0).getClass().toString());
    Log.d("hello", taskArray5.get(0));
    String[] localTimeList = localTime.split(":");
    String previouslySetTime = taskArray5.get(0).substring(0, taskArray5.get(0).length() - 5);
    String[] previouslySetTimeList = previouslySetTime.split(":");
    Integer localTimeHours = Integer.parseInt(localTimeList[0]);
    Integer localTimeMinutes = Integer.parseInt(localTimeList[1]);
    Integer localTimeSeconds = Integer.parseInt(localTimeList[2]);
    char AMORPM = taskArray5.get(0).charAt(taskArray5.get(0).length() - 4);
    Integer previouslySetTimeHours;
    if (AMORPM == 'A') {
        previouslySetTimeHours = Integer.parseInt(previouslySetTimeList[0]);
    } else {
            previouslySetTimeHours = Integer.parseInt(previouslySetTimeList[0]) + 12;
    }

我使用 Log.d 确认 taskArray5.get(0) 是一个具有特定值“未指定目标时间”的字符串。 另外,使用equals() function也没有解决问题。 我究竟做错了什么? 任何帮助表示赞赏。

在这种情况下要做的事情:

使用断点,有时仅仅记录是不够的,你可能会错过一些东西,即当你认为它被调用时没有调用 if 或者它可能被多次调用

您写道:taskArray.get(0) 是一个具有特定值“未指定目标时间”的字符串,但是您在代码中使用了 taskArray5。 此外,如果它具有条件所需的特定值,那么输入是否不正常?

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM