Java boolean 值在 if 语句中不带断点

标签 java if-statement boolean

基本上,当我移动断点时,这段代码的行为似乎有所不同

    int checker = something.length(); /* something is the value of an edittext */

    boolean badInput = false;

    if(checker == 0)
    {
        badInput = true;
    }

    if(checker > 12)
    {
        badInput = true;
    }

*1  if(badInput = false)
    {
*2      /* A lot of 
               code to do 
               if the 
               input is GOOD */
    }
    else
    {
            /* Alert that the input is BAD */
    }

当我使用第一个断点 (1) 在编辑文本中输入2 位数字时,badInput 给出 false,这是应该的。

问题是:当我仅使用第二个断点 (2) 执行完全相同时,代码会转到 else 语句和警报,即使输入完全相同。

有人知道这是为什么吗?

最佳答案

这个:

if(badInput = false)

应该是:

if(badInput == false)

或者最好是:

if (!badInput)

第一个是执行分配,而不是比较。表达式 badInput = false 的总体结果也是分配的值 (false),因此它永远不会进入该 if 的主体。

不太清楚“用”断点输入数据是什么意思,但从根本上来说问题出在您的代码中。

关于Java boolean 值在 if 语句中不带断点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9259123/

相关文章:

python - Python 中 If 语句中的 boolean 值

java - 为什么 Spring 在 TransactionSynchronization 接口(interface)中没有回滚方法?

java - 如何为 IntelliJ 设置 Scala API 文档

excel - 无法理解为什么 VBA 在验证 If 语句时退出我的 For-Next 循环

java - 获取位置并显示信息而不使用 if 语句?

Python 等价于 Perl 的习语 do this or that,通常称为 "or die"?

java - 在服务器上使用 Runtime.exec 执行二进制 java 文件

java - 更改 EJB 类对话框 - 未找到

javascript - Angular : How to show icon. png 取决于项目的属性?

python - 如果该行中的所有值都是假的,Pandas 会删除该行