Java在FALSE上输入if块

Java在FALSE上输入if块,java,Java,这是我在编程中遇到的最奇怪的问题。Java输入一个if块,即使设置为false的纯布尔变量if表达式是false 在调试会话期间,我没有修改任何代码或变量值,甚至多次终止并重新启动应用程序而不涉及任何内容。这怎么可能 运行Java 1.8.0_45 编辑:偶数!phalse进入区块。清理和重建没有帮助。更改为 if(phale){ System.out.println("Oh yeah im rly dunno how to handle if conditions"); thro

这是我在编程中遇到的最奇怪的问题。Java输入一个
if块
,即使设置为
false
的纯布尔变量
if表达式
false

在调试会话期间,我没有修改任何代码或变量值,甚至多次终止并重新启动应用程序而不涉及任何内容。这怎么可能

运行Java 1.8.0_45

编辑:偶数
!phalse
进入区块。清理和重建没有帮助。

更改为

if(phale){
   System.out.println("Oh yeah im rly dunno how to handle if conditions");
   throw ...
}
您将看到没有打印输出,这将证明您看到的(代码)不是正在执行的(运行时代码库)

清理并重新启动-如果需要手动删除
目录(如果使用maven)或
输出
如果eclipse纯java项目。

更改为

if(phale){
   System.out.println("Oh yeah im rly dunno how to handle if conditions");
   throw ...
}
您将看到没有打印输出,这将证明您看到的(代码)不是正在执行的(运行时代码库)


清理并重新启动-如果需要手动删除
目录(如果使用maven)或
输出
如果eclipse纯java项目。

可能重建源代码?您的源代码与编译的类不匹配。请尝试
!phalse
并检查它所做的没有任何意义的事情。调试器显示的唯一一件事是,if语句的条件计算结果为
false
,并且在if子句中,条件仍然是
false
。这没什么问题。你使用什么样的IDE?可能会重建源代码?你的源代码与你编译的类不匹配。试试
!phalse
并检查它所做的没有任何意义的事情。调试器显示的唯一一件事是,if语句的条件计算结果为
false
,并且在if子句中,条件仍然是
false
。这没什么问题。你使用什么样的IDE?你是对的,一定有一个缓存的二进制文件正在被执行。谢谢您是对的,一定有一个缓存的二进制文件正在执行。谢谢