java中不执行if语句

今天写java脚本时犯了一个错误,导致花费了很长的时间查找问题,结果竟然是语法问题,关于==和equals。

很简单的一个if else语句,最开始是这样,NCIIC的值通过arguments传递,为了证明传递的值无误,我还将它打印出来了:

java中不执行if语句_第1张图片

明明NCIIC的值是“信息一致,照片不一致”,但是总是不执行if里面的语句

然后改成直接赋值,结果正确:

java中不执行if语句_第2张图片

导致我一直坚信语法应该是没有问题的,以为是传参的形式导致哪里出了问题,中间又各种折腾,比如去掉else语句,换成非中文等等,后来经过同事建议,将==换成equals,如下:

java中不执行if语句_第3张图片

终于成功运行。

总结教训:

1.每种语言的语法还是有差别的,最好按照规范来

2.有时候自己以为是对的,实际上却不一定,而且说不定还错的很离谱

3.出现问题时候,要能够用排除的方法分析问题,比如不执行if语句,说明肯定是没有满足它的条件,那是哪里没有满足条件,一个个的排除,我就是将==换成!=后,就能够执行if中的语句了,这就说明在这里使用==有问题,那就寻找其他的替代方案

总之,不要钻牛角尖,不要钻牛角尖,不要钻牛角尖!

 

你可能感兴趣的:(java)