Java の Char equals() メソッド
- 
          
            Java で ==等号演算子を使用して同じキャラクターを確認する
- 
          
            Java で equals()メソッドを使用して等しい文字を確認する
- 
          
            Java で compare()メソッドを使用して等しい文字を確認する
 
このチュートリアルでは、Java で 2つの文字が等しいかどうかを確認する方法を紹介します。
Java では、equals(==)演算子または Character クラスの equals() メソッドを使用して、2つの文字を比較できます。プリミティブ char 値を使用している場合は、単に ==equal 演算子を使用できますが、文字クラスインスタンスを使用し、equals() メソッドを使用します。
この記事では、例を使用して両方の equals() メソッドの使用法を学習します。始めましょう。
Java で == 等号演算子を使用して同じキャラクターを確認する
Java は、== 等号演算子を使用して、2つの値が等しいかどうかをチェックします。この演算子を使用して、2つの文字が等しいかどうかを確認できます。
この例では、3つの文字を作成し、== 等号演算子を使用してそれらを比較しました。この演算子は、両方の文字が等しい場合は true を返し、そうでない場合は false を返します。
public class SimpleTesting {
  public static void main(String[] args) {
    char ch1 = 'J';
    char ch2 = 'K';
    char ch3 = 'J';
    System.out.println(ch1 == ch2);
    System.out.println(ch2 == ch3);
    System.out.println(ch1 == ch3);
  }
}
出力:
false
false
true
Java で equals() メソッドを使用して等しい文字を確認する
Character クラスを使用していて、2つの char 値を比較する場合は、Object クラスに属する equals() メソッドを使用し、オブジェクトが等しい場合は true を返し、そうでない場合は false を返します。以下の例を参照してください。
public class SimpleTesting {
  public static void main(String[] args) {
    Character ch1 = 'J';
    Character ch2 = 'K';
    Character ch3 = 'J';
    System.out.println(ch1.equals(ch2));
    System.out.println(ch2.equals(ch3));
    System.out.println(ch1.equals(ch3));
  }
}
出力:
false
false
true
Java で compare() メソッドを使用して等しい文字を確認する
これは、2つの文字が等しいかどうかを確認するために使用できる別のソリューションです。compare() メソッドは String クラスに属し、両方の値が等しい場合は 0 を返します。
ここでは、このメソッドを== equals 演算子とともに使用して、0 が返されるかどうかを確認しました。0 を返す場合、両方の値は等しくなります。以下の例を参照してください。
public class SimpleTesting {
  public static void main(String[] args) {
    Character ch1 = 'J';
    Character ch2 = 'K';
    Character ch3 = 'J';
    System.out.println(Character.compare(ch1, ch2) == 0);
    System.out.println(Character.compare(ch2, ch3) == 0);
    System.out.println(Character.compare(ch1, ch3) == 0);
  }
}
出力:
false
false
true
2つのオブジェクトが等しいかどうかを確認するときは、常に値を確認してください。Java は、小文字と大文字を等しいとは見なしません。両方の値は同じであると思いますが、Java は Unicode 値で機能し、両方の変数は異なる Unicode を保持します。これが、Java がコンソールに false を返す理由です。コード例を参照し、Java の扱いが小文字と大文字で異なることを理解してください。
public class SimpleTesting {
  public static void main(String[] args) {
    Character ch1 = 'J';
    Character ch2 = 'j';
    System.out.println(ch1 == ch2);
  }
}
出力:
false