为了账号安全,请及时绑定邮箱和手机立即绑定

即使表达式为 false,IF 语句也会运行

即使表达式为 false,IF 语句也会运行

拉莫斯之舞 2023-12-13 14:33:06
我正在创建一个 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()函数也没有解决问题。我究竟做错了什么?任何帮助表示赞赏。
查看完整描述

1 回答

?
温温酱

TA贡献1752条经验 获得超4个赞

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

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

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


查看完整回答
反对 回复 2023-12-13
  • 1 回答
  • 0 关注
  • 54 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信