两个 integer 值判断是否相等

Posted withoutaword

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了两个 integer 值判断是否相等相关的知识,希望对你有一定的参考价值。

1.如果比较Integer A a; Integer B b; 我们通常如下比较:

 
if (null != a && null != b) {
    if(a.intValue() == b.intValue()) {
        // TODO
    }
}

2.有没有工具类,可以直接比较两个Integer的值的大小的?而不是上面这种臃肿的代码。

补充:java中,用最简单的代码实现比较两个Integer的值是否相等,有什么好的实现方式?

答:

Integer num1 = 259; Integer num2 = null; System.out.println(org.apache.commons.lang.ObjectUtils.equals(num1, num2));

上述方法如果num1和num2都为null时,比较的结果为真。如果定义为比较结果为假,那还不知道是否有开源的第三方工具方法支持,或者说自己写一个方法就好了。在java中,null==null表达式的结果也是为真。

自定义方法:

 
  public static boolean compare(Integer num1,Integer num2){
        if(null == num1 || null == num2){
            return false;
        }
        
        return num1.equals(num2);
    }

或者

if (index == null && other.index != null) {
return false;
} else if (index != null && !index.equals(other.index)) {
return false;
}

项目fix bug
if(one.getOrderState() != OrderStateConfig.OrderPurchase) {
return Boolean.FALSE;
}
改为
if(OrderStateConfig.OrderPurchase.equals(one.getOrderState())) {
return Boolean.FALSE;
}




以上是关于两个 integer 值判断是否相等的主要内容,如果未能解决你的问题,请参考以下文章

Integer值判断是否相等问题

[Java]判断Integer值相等最好不用==最好使用equals

怎么比较两个枚举类型是不是相等

判断Integer值相等不能用==

判断Integer值相等最好不用==(未整理)

js判断两个对象的值是不是相等