这是迄今为止我在编程中遇到的最奇怪的问题。即使if-block
(仅仅是设置为if-expression
的布尔变量)是false
,Java也会进入false
。
我没有在调试会话期间修改任何代码或变量值,甚至终止并多次重新启动应用程序而不触及任何内容。这怎么可能?!
运行Java 1.8.0_45。
编辑:甚至!phalse
步入该区块。清洁和重建没有帮助。
改成
if(phale){
System.out.println("Oh yeah im rly dunno how to handle if conditions");
throw ...
}
您将看到没有打印输出 - 这将证明您所看到的(代码)不是正在执行的内容(运行时代码库)。
清理并重新启动 - 如果需要,手动删除classes
目录(如果使用maven)或output
,如果eclipse普通java项目。