compareToメソッド - 萌えJava超入門
第十八章 Stringクラス

compareToメソッド

2つの文字列を辞書的に比較します。

public int compareTo(String anotherString)

目次

1.compareToメソッド



書式
int num = String#.compareTo("anotherString");
String# は String のインスタンスです。



2.サンプルコード


戻り値がマイナスのときは、自身の文字列の方が若く、
プラスであれば、引数の文字列の方が若いことになります。

//Sample_compareTo.java
class Sample_compareTo{
    public static void main(String[] args){
      String str1 = "あいうえお";
      String str2 = "かきくけこ";
      int num = str1.compareTo(str2);
      if(num<0){
          System.out.println("str1 の方が前。num= " + num);
      }else if(num>0){
          System.out.println("str1 の方が後。num= " + num);
      }else{
          System.out.println("str1 と str2 は同じ。num= " + num);
      }

    }
}

コマンドライン
>cd ws
ws>javac -encoding UTF-8 Sample_compareTo.java
ws>java Sample_compareTo
str1 の方が前。num= -9

-9という値を使用することはほとんどないと思います。
重要なのは、戻り値の正負です。

辞書的ってやっぱり
文字コードのことっスよね?
その通り。
前から1文字づつ取り出して
文字コードとして引き算してるだけ。
前から数えて最初に差異のあった文字コードの、引き算の結果が返ります。
('あ' - 'か' = 12354-12363 = -9)
    Unicode抜粋 ...ぁぃいぅうぇえぉおがき...


これって文字列を
ソートするときとかに
使うんでしょ。
フフッ。
正解。


お疲れ様でした。


© 2019 awasekagami