.equalsメソッドの扱いについて
Q&A
Closed
解決したいこと
- .equals()メソッドの、引数にオブジェクト型を入れた場合と、それ以外のオブジェクトを入れた場合の動作について。
自分で試したこと
ネット等で調べた結果、
Object a = new test(10);
Object b = new test(10);
System.out.println(a.equals(b));
とすると、
public boolean equals(Object obj) {
return(this == obj);
}
が呼び出されて、同一性の比較が行われ、falseとなる。という理解ですが、これは合っていますでしょうか。
又、オーバーライド前提であるとのことですが、これは処理{}部分において指定条件を変えるためという認識で合っていますでしょうか。返り値はboolean型ならOKということでしょうか。
- 以下のように記述した場合、同値性の比較になるようですが、具体的に何かメソッドが呼び出されて処理された結果なのか、a.equals(b)だけで処理されるのか知りたいです。
String a = "a";
String b = "a";
System.out.println(a.equals(b));