对于对象,== 与 != 比较的是引用;对于基本类型,比较的是内容。
public class Equivalence(){ public static void main(String[] args){ Integer n1 = new Integer(47); Integer n2 = new Integer(47); System.out.println(n1 == n2); System.out.println(n1 != n2); } }/* Output: false true *///:~
包装类都是引用数据类型。
非基本数据类型的对象,比较内容时,可以使用对应的equals()。如果在该类中,没有重写Object的equals方法,那么会默认比较引用,就不可能出现我们希望的
行为。
如下边代码:
1 class Value(){ 2 int i; 3 } 4 5 6 public class EqualsMethod2(){ 7 Value v1 = new Value(); 8 Value v2 = new Value(); 9 v1.i = v2.i = 100; 10 System.out.println(v1.equals(v2)); 11 }/* Output 12 false 13 *///:~
原文:https://www.cnblogs.com/DamonGeng/p/10480599.html