您的位置:首页 > 编程语言

写代码一定要标准,一个String比较引发的血案

2013-01-05 16:37 253 查看
今天在处理一个bug的时候,发现该bug出现情况十分特殊,只有在weblogic下出现,jboss下并不能出现。

经过多次调试,发现业务逻辑没问题(没怀疑Action的)。每次在jboss下都能正确insert,但到了weblogic就没响应,由于Weblogic是在远程服务器,所以没在weblogic上调试。

实在不行,就在执行SQL语句那里把语句打印出来,结果发现,调用的逻辑居然是其他的方法。

调用的逻辑是这样的

if 主键不为空
调用更新逻辑
else
调用插入逻辑
问题就出现在主键的判断上。因为主键是字符串,所以代码里判断的是

if (null != pk && "" != pk)
这问题就在 ""!= pk上了。这里修改为!"".equals(pk)问题就解决了。其实就是
字符串内容的比较不能用==或!=。

看来代码不规范真的会害死人,有时候写代码的时候还是要想下以后维护的。我猜写这个代码的人当时肯定在自己机器上调试通过就满心欢喜就提交了代码了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: