首页 > JVM > == 和 equals的区别

== 和 equals的区别

作者:bin

1、==比较的是内存的地址,而不是地址指向的值
2、equals通过都是对象重写的包装方法,通常都是对比值是否相同

例如以下:

  Integer a = 1000;
  Integer b = 1000;
  //false 对比2个对象的引用,地址肯定不一样
  System.out.println(a == b);
  //true 获取对象的原生int类型,1000只在内存中创建了一次,所以地址相同
  System.out.println(a.intValue() == b.intValue());
  //true equals实际上就是包装了上面的a.intValue()方法
  System.out.println(a.equals(b));

您必须 [ 登录 ] 才能发表留言!