数值对比
1.判断Integer值相等最好不用==最好使用equals
why:当Integer的值不在-128到127的时候使用==方法判断是否相等就会出错
2.BigDecimal类型对比大小使用compare而不使用equals
举例:用b.compareTo(BigDecimal.ZERO)==0,可以比较是否等于0,返回true则等于0,返回false,则不等于0
why:equals要求值得大小要相等,保留位数也要相等,0不等于0.0
3.equals方法可以传入null值,compareTo方法不能传入null值
why:
compareTo()方法是用于比较两个对象的大小,如果传入null值,由于null不能与任何对象比较大小(null不等于任何对象)所以向compareTo方法传入null值会出现空指针异常;
equal()是方法是用于比较两个对象是否相等,当equals()方法传入参数为null时是判断字符串是否为空,所以equals()方法可以传入null(但是不能使用null.equals("字符串"))
网友评论