如何分析Sonar常见问题?

发布时间:2025-09-02 01:06:24 作者:益华网络 来源:undefined 浏览量(0) 点赞(0)
摘要:1.Equality tests should not be made with floating point value 代码举例: if (result == num) //result和num均为double 之间比较会有精度

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“);的形式

http://shenzhen.offcn.com/

二维码

扫一扫,关注我们

声明:本文由【益华网络】编辑上传发布,转载此文章须经作者同意,并请附上出处【益华网络】及本页链接。如内容、图片有任何版权问题,请联系我们进行处理。

感兴趣吗?

欢迎联系我们,我们愿意为您解答任何有关网站疑难问题!

您身边的【网站建设专家】

搜索千万次不如咨询1次

主营项目:网站建设,手机网站,响应式网站,SEO优化,小程序开发,公众号系统,软件开发等

立即咨询 15368564009
在线客服
嘿,我来帮您!