メソッドの返値が同メソッドの返値に依存する仕組みが理解できません

発生している問題・エラーメッセージ

JAVAの教本にて下記のようにequalsをオーバーライドするサンプルがあります。

該当のソースコード

java

1public cass Item {2 private String name;3 4 public Item(String name){5 this.name = name;6 }7 8 public boolean equals(object obj){9 if(obj instanceof Item) {10 Item tmp = (Item)obj;11 // 理解できない場所12 if (tmp.name.equals(this.name)){13 return true;14 }15 }16 }17}

不明点

equalsを定義する中でequalsを使用している点が理解できずにいます。

equalsの結果はequalsの結果に依存していて……と再帰的にループしてしまう気がするのですが、
どのように解釈して考えればよろしいのでしょうか?

コメントを投稿

0 コメント