繁体   English   中英

如何使用正则表达式替换从checkstyle纠正“等于避免为空”

[英]How to use a regex replace to correct “Equals avoid Null” from checkstyle

编辑:我在末尾编辑了我的帖子以提供我使用的正则表达式

用声纳来监视代码质量是很棒的,但是不利的一面是,对于笨拙的项目,您必须进行很多纠正。 我的问题是我需要从checkstyle(com.puppycrawl.tools.checkstyle.checks.coding.EqualsAvoidNullCheck)中纠正大约500个“等于避免Null”冲突。 使用一个正则表达式半自动更正会很棒。

违反的目标是改变

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个违规情况。 仍然有很多工作要做,但是如果我必须手动完成,那会更加痛苦。

不确定这是解决方案,但尝试:

final String sTmp = myObject.getMyMember();
    if(null != sTmp) {<br>
    // Test .equals() here <br>
    ..<br>

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM