== 和 equals的区别
作者:bin1、==比较的是内存的地址,而不是地址指向的值
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));