Javaのメソッドメモ: compareTo (java.lang.String)

2018.05.30 更新 激しくcompareTo()の使い方間違えてた。

( ´_ゝ`)ノシ

Javaの現場で知った便利そうなメソッドをメモ。

多分JavaSE1.6。

 

www.sejuku.net

このリンク先にある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;

    }

 

}