質問: true) { System.out.println("同じ内容です"); }else{ System.out.println("違う内容です"); } //エラー発生!!(equals(int) を基本タイプ int で起動できません)とEclipse上で表示される ``` ### それでも分からなかったこと **int型のデータ比較をequals()でなぜできないか** ### 開発環境 PC環境:Windows8.1 64ビット Java環境:Eclipse
回答: `Hero`独自に`equals`を実装していないため、`Object.equals`が継承されます。これは**同じインスタンスの場合**しか`true`を返さないので(Oracle)、中身を比較したい場合は`Hero.equals`を自前でオーバーライドする必要があります。 `String.equals`はJavaのライブラリの方で準備されています。