[英]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.