==与equal的区别(thinking in java,解释的角度很有意思)

1.==
Integer n1 = new Integer(47);
Integer n2 = new Integer(47);

System.out.println(n1 == n2);
System.out.println(n1 != n2);

==与equal的区别(thinking in java,解释的角度很有意思)

2. equals
class Value {
  int i;
}

public class EqualsMethod2 {
  public static void main(String[] args) {
    Value v1 = new Value();
    Value v2 = new Value();
    v1.i = v2.i = 100;
    System.out.println(v1.equals(v2));
  }
}

==与equal的区别(thinking in java,解释的角度很有意思)

==比较的是引用(存储的数值),equal比较的是对象中的内容。