Java Integer.equals()判断相等(亲测)

Java中判断Integer是否相等可以用equals()或者“==”,“==”是进行地址及值比较,equals方法是数值比较,当Integer的值不在-128到127的时候,会新new一个对象,因此这个时候如果用“==”进行判断就会报错。

定义

boolean equals(Object obj)  //比较此对象与指定对象

Integer.equals()传入Integer对象,只进行值是否相等判断。

例子

public class IntegerEqualsDemo {
	public static void main(String[] args) {
		Integer a= new Integer(5);
		Integer b= new Integer(5);
		Integer c = 127;
		Integer d = 127;
		Integer e = 129;
		Integer f = 129;
		int g = 128;
		System.out.println(a==b);       //false,2个不同的Integer对象,“==”会校验Integer地址是否相同
		System.out.println(a.equals(b));   //true,只是校验Integer值是否相同
		System.out.println(c == d);    //true
		System.out.println(e == f);    //false,Integer值不在-128到127之间,会new一个新对象
		System.out.println(f == g);    //true
	}
}

因此,在使用Integer的时候,如果不为null,尽量用equals()方法进行判断是否相等,当然如果用int的话,是可以直接用“==”,因为int是值类型。

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值