编辑:我在文章末尾编辑了我的文章,给出了我使用的正则表达式。
拥有声纳来监控代码的质量是很好的,但是在不好的项目中,你必须纠正很多。我的问题是,我需要纠正大约500“等于避免零”从校验风格( com.puppycrawl.tools.checkstyle.checks.coding.EqualsAvoidNullCheck )违规。用一个正则表达式来修正它,半自动就很好了。
这种违法行为的目的是改变
myObject.getMyMember().toString().equals("one string")至
"one string".equals(myObject.getMyMember().toString())编辑:我使用了这种方式,即使我需要检查它,而不是在我的整个源树上启动sed,它也运行得很好。
匹配整个行的正则表达式。
([\(|& \t!])([^\(|& \t!])([a-zA-Z0-9_\[\]\(\)\.]*)\.(equals|equalsIgnoreCase)\(("[^"]*")\)替换以下行的正则表达式
\1\5.\4(\2\3)我花了一天时间纠正这500起违规事件。仍然有很多工作要做,但如果我不得不用手去做的话,那就更痛苦了。
发布于 2012-04-11 15:41:22
不确定这是解决方案,但请尝试:
final String sTmp = myObject.getMyMember();
if(null != sTmp) {<br>
// Test .equals() here <br>
..<br>}
https://stackoverflow.com/questions/10108782
复制相似问题