Javaのメソッドメモ: compareTo (java.lang.String)
2018.05.30 更新 激しくcompareTo()の使い方間違えてた。
( ´_ゝ`)ノシ
Javaの現場で知った便利そうなメソッドをメモ。
多分JavaSE1.6。
このリンク先にあるcompareToメソッド。
文字列比較に使う。
比較結果を大、小、同値別に数値で返すので
str1 == str2, str1 < str2 など書かずに
result = str1.compareTo(str2);
while(true) {
switch (result) {
case -1:
// 処理1
break;
case 0:
// 処理2
break;
case 1:
// 処理3
break;
}
}
とswitch文が使いやすくなり便利。
そう、思ってました。
どうもstr1 < str2 と str1 > str2の返り値を激しく勘違いしてて
str1 < str2 の場合× -1 ◎「負の値(変動)」
str1 > str2 の場合× 1 ◎「正の値(変動)」
勘違いしたままswitch文使ったのでめちゃくちゃ無限ループした。
次のコードなら狙ったように動く
result = str1.compareTo(str2);
while(true) {
if ( result < 0 ) {
// 処理1
break;
}
if ( result == 0 ) {
// 処理2
break;
}
if ( result < 0 ) {
// 処理3
break;
}
}