wired raven

文字通りの日記。主に思ったことやガジェットについて

Javaの文字列の比較

参考: 文字列と文字列の比較 - Stringクラスを使った文字列処理 - Java入門

String str1="AA";
String str2="AA";

if(str1==str2) {
    System.out.print("等しい");
}
else {
    System.out.print("異なる");
}

これで等しいと返ってくるのに

String str1="AA" + "BB";
String str2="AABB";

if(str1==str2) {
    System.out.print("等しい");
}
else {
    System.out.print("異なる");
}

だと異なると返ってきてなんだろう、と思ったら文字列型は扱いが異なるので、equalsメソッドを使う必要があるそうで。

気が付かなかったらもうしばらくははまっていた気がする。

あと、テーブルから取得した日付のデータも変数がDate型とTime型とTimestamp型で扱いが異なる点にもはまってた。これはTimestamp型とgetTimestamp()で解決した。言語が違うとほんと、お約束も違ってきて大変。