main(){
Integer i1 = 500;
Integer i2 = 500;
System.out.println(i1 == i2); // O/P is "**false**"
String s1 = "Hello";
String s2 = "Hello";
System.out.println(s1 == s2); // O/P is "**true**"
} // End of main.
出力が異なる理由がわかりません。私が知っている限り、s1、s2はヒープ上の同じオブジェクトを指します。したがって、それらの参照アドレスは同じです。同様に、整数も同じだと思います。そうではありません。なぜ違うのですか?