目录
测试业务的时候遇到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); }