Javaの文字列の値を比較するサンプルです。
Stringクラスのequalsメソッドを使用します。
| 確認環境 ・Java 8 |
目次
文字列の値を比較する(equalsメソッド)
| public boolean equals (Object anObject) |
- 値が等しくStringオブジェクトどうしであればtrueを返し、そうでない場合falseを返します
- ==での文字列の比較は、参照先が同じかどうかの比較を行ってしまいます。
- 英字の同じ値どうしで大文字と小文字の違いのみの場合は、falseを返します。
- 値がnullまたは空文字の場合については以下をご覧下さい。
Java equalsメソッドで比較する値がnullまたは空文字だった場合のサンプル - 以下はJava8 API仕様のStringクラスのequalsメソッドのリンクです。
https://docs.oracle.com/javase/jp/8/docs/api/java/lang/String.html#equals-java.lang.Object-
コード
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) |
- 文字列の値を比較します。値が等しいときはtrueを返し、異なるときはfalseを返します。
- 英字の大文字と小文字を区別しません。equalsメソッドと異なる点です。
- 以下はJava8 API仕様のStringクラスのequalsIgnoreCaseメソッドのリンクです。
https://docs.oracle.com/javase/jp/8/docs/api/java/lang/String.html#equalsIgnoreCase-java.lang.String-
コード
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)