###前提・実現したいこと
[==]と[equals]の挙動の違いを確認したい。
###発生している問題・エラーメッセージ
意図した動作にならない。
###該当のソースコード
public class Main {
public static void main(String[] args){
Hero h1 = new Hero(); h1.name = "ミナト"; h1.hp = 100; Hero h2 = new Hero(); h2.name = "ミナト"; h2.hp = 100; if(h1.equals(h2) == true){ System.out.println("同じ内容です"); }else{ System.out.println("違う内容です"); } if(h1 == h2){ System.out.println("同じ内容です"); }else{ System.out.println("違う内容です");
//以下Heroクラス
public class Hero {
String name;
int hp;
}
【出力結果】
違う内容です
違う内容です
###補足情報(言語/FW/ツール等のバージョンなど)
ネットなどで確認する限りだと、
「==」はクラスに代入された値が同じであればtrueを表示。
「epuals」はメモリ上の保存位置まで同じであればtrueを表示。
と書いてあるように認識しました。
2つのインスタンスを使っているので、下がfalseになるのは分かるのですが、
全く同じ内容の上がfalseになるのはなぜでしょうか。
初歩的な内容で恐れ入りますが、ご教示頂けますでしょうか。

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/10/12 15:30
2016/10/13 00:26
2016/10/13 06:30