java stringの比較
String s = new String("あいうえお");
String t = new String("あいうえお");
boolean a = (s==t);
System.out.println(a); //①
boolean b = (s.equals(t));
System.out.println(b); //②
上記の場合、①は「false」②は「true」となる。
①は異なるオブジェクトを比較しているため「false」となる。
②はequalsメソッドにより参照先の文字列自体を比較しているため「ture」となる。
また
String s = "あいうえお";
String t = "あいうえお";
boolean a = (s==t);
と明示的にnewしない場合はすでに作成済みのオブジェクトを参照するため
aの比較結果は同一のオブジェクトを比較しているためtrueとなる。