メモリアドレスとコンテンツの比較
2091 ワード
A==Bは、同じメモリアドレスを指すかどうかの2つの参照を比較します.A.equals(B)はA,Bの内容が同じかどうかを比較し,Class Aのequals内容を複写する必要があることが多い.
==メモリアドレスを2つ比較
// 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;
}
}
==メモリアドレスを2つ比較
A a= new A ("simon", 25);
A b= new A ("simon", 25);
if( a== b) //false, new 。
if(a.equals(b)) //true, equals .