这种短路(&&)应该有效,但事情并非如此

use*_*389 -2 java logic android functional-programming

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

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

pax*_*blo 5

我建议打印出以下值:

dateTime
System.currentTimeMillis()
chkBox.isChecked()
Run Code Online (Sandbox Code Playgroud)

if声明之前,因为我非常肯定,如果你的工具链(编译器等)发生了大规模的失败,那么&&这个声明就可以了.并且还在行if前的语句中打印了一些内容Toast.

因此,我必须假设以下之一.

  1. dateTime大于System.currentTimeMillis()-例如,如果dateTime是从当前时间在某一时刻分配则总是小于或等于后,当前时间,时钟修改和从黑洞尽管存在奇异宇宙干扰:-)

  2. chkBox.isChecked()假的.

  3. if 工作不错,但该Toast行不会做任何明显的/可见.

在这样的基本操作中,使用良好的工具链(如Java和/或Android内容)存在缺陷的可能性很小.