这种短路(&&)应该可以工作,但有些事情并不存在

时间:2011-12-20 06:55:50

标签: java android functional-programming logic

如果两者都是真的我想要它敬酒......但它看到它们是假的。

if (dateTime > System.currentTimeMillis() && chkBox.isChecked()){
                     Toast.makeText(getBaseContext(), "BEFORE", Toast.LENGTH_SHORT).show();
                     return;
    };

1 个答案:

答案 0 :(得分:5)

我建议打印出以下值:

dateTime
System.currentTimeMillis()
chkBox.isChecked()

if语句之前,因为我非常肯定,如果你的工具链(编译器等)出现大规模失败,&&在该语句中就可以正常工作。并在if行之前的Toast语句中打印内容。

因此我必须承担以下其中一项。

  1. dateTime 大于System.currentTimeMillis() - 例如,如果在某个时刻从当前时间分配了dateTime,那么它将永远小于或等于此后的当前时间,尽管存在时钟修改和黑洞存在的奇怪的宇宙干扰: - )

  2. chkBox.isChecked()正在返回 false。

  3. if 正常工作,但Toast行没有做任何明显/可见的事情。

  4. 在这样的基本操作中,像Java和/或Android东西这样使用良好的工具链的可能性很小甚至没有。