1. 程式人生 > >比較記憶體地址與內容

比較記憶體地址與內容

A == B 比較的是兩個的引用,是否指向同一塊記憶體地址。
A.equals(B) 比較的是A,B裡面的內容是否相同,常需要複寫 Class A 的equals 內容。

//比較A,B裡面內容是否相同 equals 方法。
public class A {
   String name;
   int age;

   public A (String name, int age){
        this.name= name;
        this.age= age;
    }

   public boolean equals( Object o) {
      if( o instanceof
A) { A a2= (A) o; if(this.name == a2.name && this.age == a2.age) return true; } else return false; } }

== 比較的是兩個記憶體地址

A a= new A ("simon", 25);
A b= new A ("simon", 25);

if( a== b) //false, 因為new 開闢了兩個記憶體空間。
if(a.equals(b)) //true
,呼叫複寫的equals函式.