今天写java脚本时犯了一个错误,导致花费了很长的时间查找问题,结果竟然是语法问题,关于==和equals。
很简单的一个if else语句,最开始是这样,NCIIC的值通过arguments传递,为了证明传递的值无误,我还将它打印出来了:
明明NCIIC的值是“信息一致,照片不一致”,但是总是不执行if里面的语句
然后改成直接赋值,结果正确:
导致我一直坚信语法应该是没有问题的,以为是传参的形式导致哪里出了问题,中间又各种折腾,比如去掉else语句,换成非中文等等,后来经过同事建议,将==换成equals,如下:
终于成功运行。
总结教训:
1.每种语言的语法还是有差别的,最好按照规范来
2.有时候自己以为是对的,实际上却不一定,而且说不定还错的很离谱
3.出现问题时候,要能够用排除的方法分析问题,比如不执行if语句,说明肯定是没有满足它的条件,那是哪里没有满足条件,一个个的排除,我就是将==换成!=后,就能够执行if中的语句了,这就说明在这里使用==有问题,那就寻找其他的替代方案
总之,不要钻牛角尖,不要钻牛角尖,不要钻牛角尖!