您好,登錄后才能下訂單哦!
本篇內容介紹了“Sonar常見問題有哪些”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
1.Equality tests should not be made with floating point value
代碼舉例: if (result == num) //result和num均為double 之間比較會有精度損失
解決:BigDecimal data1 = new BigDecimal(totalArea);
BigDecimal data2 = new BigDecimal(s1);
int num = data1.compareTo(data2);//num =0 相等 >0前者大于后者 ,反之 <0 前者小于后者
2.This class overrides "equals()" and should therefore also override "hashCode()".
代碼舉例:public boolean equals(Object obj){...} //需要添加對應的hashCode方法
解決:可以添加一個最簡單的hashCode方法
public int hashCode() {return 0;}
3.Synchronize on a new "Object" instead
代碼舉例:synchronized ("實例化") {...} //里邊必須是對象
解決: private Object obj ="實例化";
synchronized (obj ) {...}
4.Close this"FileInputStream" in a "finally" clause.
解決方法: 在finally中關閉FileInputStream,主要是關閉方式不對,finally代碼塊中,應該要對每個stream進行單獨關閉,而不能統一寫在一個try-catch代碼中。
5.A"NullPointerException" could be thrown; "tom" is nullablehere
空指針,解決方式:先判斷或者先實例化,再訪問里面的屬性或者成員。
6.Makethis IP "127.0.0.1" address configurable
解決方法:不要把IP地址寫在此類中,應該在對應的系統文件或者相應的配置文件中配置
7.Either log or rethrow this exception.
解決方法:把對應的輸出寫成Logger.error("aaa“);的形式
“Sonar常見問題有哪些”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。