1:
パッケージcom.aff.equals。 パブリック クラスTestOrder { 公共 静的 ボイドメイン(文字列[]引数){ オーダーO1 = 新しい注文(1001「AA」)。 注文O2 = 新秩序(1001、 "AA" ); System.out.println(O1 == O 2)。// 偽 のSystem.out.println(o1.equals(O2)); // 偽--->真重写方法后等しい } } クラスの注文{ プライベート int型の注文ID。 プライベート文字列ORDERNAME。 公共 のintgetOrderId(){ 戻り注文IDと、 } 公共 ボイド setOrderId(INT 注文ID){ この .orderId = 注文ID。 } パブリック文字列getOrderName(){ 戻りORDERNAME。 } 公共 ボイドsetOrderName(文字列ORDERNAME){ この .orderName = ORDERNAME。 } 公共注文(INT 注文ID、文字列ORDERNAME){ スーパー()。 この .orderId = 注文ID; この .orderName =ORDERNAME; } // 2つのオブジェクトが同じ順序であるかどうか属性比較し、trueに同じ返す パブリック ブールのequals(オブジェクトobj){ IF(この == OBJ){ リターン trueに; } 他の IF(OBJ のinstanceof 注文){ 注文O1 = (注文)OBJ; 戻る この .OrderID && == o1.orderId この.orderName.equals(o1.orderName); } そう{ リターン はfalse ; } } }
出力:
偽
真
2:
パッケージcom.aff.equals。 パブリック クラスTestMyDate { 公共 静的 ボイドメイン(文字列[]引数){ MyDateに該当M1 = 新しい MyDateに該当(12、3、2012 )。 MyDateに該当M2 = 新しい MyDateに該当(12、3、2012 )。 もし(M1 == M2){ するSystem.out.println( "M1 == M2" )。 } 他{ するSystem.out.println( "M1 = M2!" )。 } // ブールjava.lang.Object.equals(オブジェクトobj) //、書き換え方法等しい呼び出しオブジェクトのメソッドに等しい IF (すなわちm1.equals(M2)){ するSystem.out.println( "M2はM1 ISに等しい" ); } 他{ するSystem.out.println(「M1 ISはM2はないに等しい" ); } } } クラスMyDateに該当{ プライベート int型デイ; プライベート int型の月; プライベート int型の年、 公共 MyDateに該当(int型日、int型月、INT 年){ スーパー(); この day以下、=日; この .month = 月。 この .year = 今年; } 公共 のint getDay(){ 戻り日。 } 公共 ボイド setDay(int型日){ この day以下= 日。 } 公共 のint getMonth(){ 戻り月。 } 公共 ボイド setMonth(INT 月){ この .month = 月。 } 公共 のint getYearメソッド(){ 戻り値の年。 } 公共 ボイド setYear(INT 年){ この .year = 年; } // 手动写的 パブリック ブール等しい(オブジェクトobj){ 場合(この == OBJ)は{ 返す 真。 } そう であれば(OBJ のinstanceof MyDateに該当){ MyDateに該当M = (MyDateに該当)OBJ。 戻る この day以下== m.day && この .month == m.month && これを== .year m.year; } そう{ リターン はfalse ; } } }
出力:
M1!=平方メートル
m1は平方メートルに等しくされます