Java 文字列の値を比較するサンプル(equals)

Javaの文字列の値を比較するサンプルです。
Stringクラスのequalsメソッドを使用します。

確認環境
・Java 8

目次

文字列の値を比較する(equalsメソッド)

public  boolean  equals (Object anObject)

コード

equalsメソッドのサンプルです。

package test1;
 
public class Test1 {
	public static void main(String[] args) {

		// 値が同じ
		String a1 = "あいう";
		String a2 = "あいう";
		if (a1.equals(a2)) {
			System.out.println("OK"); // OKが出力される
		} else {
			System.out.println("NG");
		}
		
		// 値が異なる
		String b1 = "あいう";
		String b2 = "かきく";
		if (b1.equals(b2)) {
			System.out.println("OK"); 
		} else {
			System.out.println("NG"); // NGが出力される
		}
		
		// 値は同じだがデータ型が異なる
		String c1 = "1";
		int c2 = 1;
		if (c1.equals(c2)) {
			System.out.println("OK");
		} else {
			System.out.println("NG"); // NGが出力される
		}
		
		// ==での比較。参照先が異なっているのでfalseになる
		String d1 = new String("あいう");
		String d2 = new String("かきく");
		if (d1 == d2) {
			System.out.println("OK");
		} else {
			System.out.println("NG"); // NGが出力される
		}
	}
}

9行目は、String型のインスタンスどうしでかつ同じ値のためtrueになります。
18行目は、値が異なるためfalseになります。
27行目は、同じ値だが、データ型が異なるためfalseになります。
36行目は、イコールでの比較です。参照先が異なるのでfalseになります。

 

大文字と小文字を区別しない(equalsIgnoreCaseメソッド)

public  boolean  equalsIgnoreCase (String  anotherString)

コード

equalsIgnoreCaseメソッドのサンプルです。

package test1;

public class Test1 {
	public static void main(String[] args) {
		
		String a1 = "ABC";
		String a2 = "abc";

		// equalsIgnoreCaseメソッド
		System.out.println(a1.equalsIgnoreCase(a2));//true

		// equalsメソッド
		System.out.println(a1.equals(a2));//false
	}
}

10行目は、equalsIgnoreCaseメソッドで大文字と小文字の値を比較してtrueを返しています。
13行目は、equalsメソッドで大文字と小文字の値を比較してfalseを返しています。

関連の記事

Java  equalsメソッドで比較する値がnullまたは空文字だった場合のサンプル
Java if文のサンプル
Java 文字列が空か確認するサンプル(isEmpty)
Java 数値と文字列の変換のサンプル(valueOf)

△上に戻る