int、Integer、BigDecimal类型的比较出现

目录

1.int与int比较

2.Integer与int比较

3.Integer与Integer比较

4. BigDecimal类型的比较


测试业务的时候遇到int与Integer出现空指针的问题,所以记录一下

1.int与int比较

这个没什么好说的,使用比较符 "=="、">"、"<"、"<="、">="、"!="。

2.Integer与int比较

比较符跟int与int比较符一样,Integer与int的比较,因为Integer会有一个拆箱的过程、与int类型比较时需要保证Integer的数据值不能为空,项目走流程就是因为Integer的值没有查到然后与int类型数据作比较出像空指针异常了。

3.Integer与Integer比较

//通常使用下面这种方法
Integer a =111;
Integer b=222;
if (null != a && null != b) {
    if(a.intValue() == b.intValue()) {
        
    }
}
/**
 * Integer比较可以写个自定义方法
 * @param number1
 * @param number1
 * @return
 */
public static boolean compare(Integer number1,Integer number2){
    if(null == number1 || null == number2){
        return false;
    }
    return number1.equals(number2);
}

 

4. BigDecimal类型的比较

这个我在网上查到的,使用a.compareTo(b)的方法,也可以整理一个自定义方法

/**
 * 提供BigDecimal比较的方法
 *
 * 返回值 ==-1:number1小于number2
 * 返回值==0:number1等于number2
 * 返回值== 1:number1大于number2
 * 返回值>-1:number1大于等于number2
 * 返回值<1:number1小于等于number2
 *
 * @param number1
 * @param number2
 * @return
 */
public static int compareTo(@NonNull BigDecimal number1, @NonNull BigDecimal number2) {
    return number1.compareTo(number2);
}

版权声明:本文为weixin_43522117原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。