您现在的位置是:亿华云 > 人工智能
如何分析Sonar常见问题?
亿华云2025-10-04 03:55:14【人工智能】5人已围观
简介1.Equality tests should not be made with floating point value 代码举例: if (result ==
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/
很赞哦!(272)