这篇文章主要讲解了“sonar常见问题怎么解决”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“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常见问题怎么解决”的内容了,经过本文的学习后,相信大家对sonar常见问题怎么解决这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。