2009-05-20 13 views

答えて

16

いいえこれはObjectの定義とまったく同じです。 equals()

...この方法は、(x == yは、真の値を有する)は、xとyが同じオブジェクトを参照する場合にのみ真を返す...

public boolean equals(Object o) { 
    return this == o; 
} 
0

いいえ、equals()がオーバーライドされていない場合、オブジェクトがメモリ内の同じ同一オブジェクトである場合はtrueを返します。

2

Object.java srcは、そのequalsメソッドを次のように定義します。

return (this == obj) 

のでない:-)

0

号object0の実際のクラス(必ずしも変数の宣言された型))(等号をオーバーライドしていなければなりません。 object0.getClass()を出力してみてください。

0

ここではソースコードでありますObject.equalsのために:で、 "object0のタイプはObject.equals()をオーバーライドしていない" のであれば

public boolean equals(Object obj) { 
    151   return (this == obj); 
    152  } 
    153 

、第

8

はい、あなたは意味スーパークラスではありません。

object0object1はタイプBである場合、BはAに延びており、Aはequals(Object obj)をオーバーライドが、Bにはない、Bがequals(Object obj)しかし(object0 == object1) != (object0.equals(object1))を上書きしないことが可能です。

5

Object0 == nullおよびobject1 == nullの場合、最初のオブジェクトはtrueを返し、2番目のオブジェクトはNullPointerExceptionを返します.-それ以外は、観察可能な違いはありません。

3

オブジェクトはイコール()自分自身を上書きしませんが、オブジェクトのスーパークラスの1は、equals()メソッドをオーバーライドすることは可能です...

Eclipseを使用している場合:object.javaを開きますcontrol + oを2回押します。 'equals'と入力して 'equals'メソッドが1つしかないかどうかを確認します。オブジェクトのequalsメソッド

1

はい、は定義されていません。

+3

@egaga。それは... NullPointerExceptionをスローするために定義されています! –

関連する問題