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

equalsメソッド

自身の文字列と引数のオブジェクトを比較します。

public boolean equals(Object anObject)

目次

1.equalsメソッド


引数と自身を比較して、同じ文字列であれば true 異なる文字列であれば false を返します。
引数のデータ型が「Object」となっていますが、
Stringインスタンス以外のオブジェクトでも引数として受け取れる仕様になっています。
その場合はもちろん「false」が返ります。

そんなことしないとは思いますが。

書式
boolean boo = String#.equals("anObject");
String# は String のインスタンスです。



2.サンプルコード



//Sample_equals.java
class Sample_equals{
    public static void main(String[] args){
      String str1 = "ヒラタイラサン";
      String str2 = "ヒラタイラサン";
      String str3 = "ハラタイラサン";
      boolean boo;

      boo = str1.equals(str2);
      if(boo){
          System.out.println(str1 + " と " + str2 +" は同じ。");
      }else{
          System.out.println(str1 + " と " + str2 +" は異なる。");
      }

      boo = str1.equals(str3);
      if(boo){
          System.out.println(str1 + " と " + str3 +" は同じ。");
      }else{
          System.out.println(str1 + " と " + str3 +" は異なる。");
      }
    }
}

コマンドライン
>cd ws
ws>javac -encoding UTF-8 Sample_equals.java
ws>java Sample_equals
ヒラタイラサン と ヒラタイラサン は同じ。
ヒラタイラサン と ハラタイラサン は異なる。


ようやく文字列の比較が
できるようになったわね。
ですね。


お待たせしました。


3.equalsの比較の手順


比較の手順
  1. 自分自身と引数が、同じインスタンスを参照していれば true
  2. 引数が Stringインスタンスでなければ false
  3. 文字列の長さが同じでなければ false
  4. 一文字ずつ評価をして、すべての文字が一致していれば true
といった具合です。



お疲れ様でした。


© 2019 awasekagami