這篇文章主要講解了“sonar常見問題怎么解決”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“sonar常見問題怎么解決”吧!
創(chuàng)新互聯(lián)建站致力于互聯(lián)網(wǎng)網(wǎng)站建設(shè)與網(wǎng)站營銷,提供做網(wǎng)站、網(wǎng)站制作、網(wǎng)站開發(fā)、seo優(yōu)化、網(wǎng)站排名、互聯(lián)網(wǎng)營銷、小程序制作、公眾號商城、等建站開發(fā),創(chuàng)新互聯(lián)建站網(wǎng)站建設(shè)策劃專家,為不同類型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制解決方案,幫助客戶在新的全球化互聯(lián)網(wǎng)環(huán)境中保持優(yōu)勢。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){...} //需要添加對應(yīng)的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中關(guān)閉FileInputStream,主要是關(guān)閉方式不對,finally代碼塊中,應(yīng)該要對每個stream進(jìn)行單獨關(guān)閉,而不能統(tǒng)一寫在一個try-catch代碼中。
5.A"NullPointerException" could be thrown; "tom" is nullablehere
空指針,解決方式:先判斷或者先實例化,再訪問里面的屬性或者成員。
6.Makethis IP "127.0.0.1" address configurable
解決方法:不要把IP地址寫在此類中,應(yīng)該在對應(yīng)的系統(tǒng)文件或者相應(yīng)的配置文件中配置
7.Either log or rethrow this exception.
解決方法: 把對應(yīng)的輸出寫成Logger.error("aaa“);的形式 。
感謝各位的閱讀,以上就是“sonar常見問題怎么解決”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對sonar常見問題怎么解決這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!