変数と参照型変数の基本的なタイプに作用する「==」:
1変数の値を比較し、基本変数型として使用等しいです。
参照変数として使用する場合2、比較は、メモリ内の変数のアドレスです。
参照型の変数にのみ適用することができる変数の基本タイプに作用していない「等しいです」
スーパーオブジェクト(ソースの)方法、等号()メソッドは、2つのオブジェクトを比較するメモリアドレスで同じです。
1つの 公共 ブール等しい(OBJ){ 2 リターン(この ==のOBJ)。 3 }
等号(他の方法が存在する場合)書き換えられ、その後、尖ったオブジェクトの内容を比較します。
Stringクラスには、ソースに等しいです:
1つの 公共 ブール等しい(anObjectオブジェクト){ 2 であれば(この == anObject){ 3 リターン 真。 4 } 5 であれば(anObject instanceofの文字列){ 6 列anotherString = (文字列)anObject。 7 int型のn = 数; 8 あれば(N == anotherString.count){ 9 チャー V1 [] = 値。 10 チャー V2 [] = anotherString.value。 11 INTI = オフセット。 12 int型 J = anotherString.offset。 13 一方(N--!= 0 ){ 14 であれば(V1 [I ++] = v2の[J ++!]) 15 リターン 偽。 16 } 17 リターン 真。 18 } 19 } 20 リターン 偽。 21 }