zoukankan      html  css  js  c++  java
  • 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“);的形式 

          



  • 相关阅读:
    JS判断年月
    斐波那契数列
    webkit 控件供vb 6 调用,不错~
    webkit com wrapper 推荐!
    firefox usercontrol for donet
    [z] How can we render CSS3 in a WebBrowser Control ?
    A simple way to crack VBA password in Excel file
    putty教程
    Putty建立隧道的方法[z]
    Step By Step Hibernate Tutorial Using eclipse WTP[z]
  • 原文地址:https://www.cnblogs.com/w-542380601/p/8005047.html
Copyright © 2011-2022 走看看