JavaのequalsIgnoreCaseメソッドを使って大文字と小文字を区別せずに文字列を比較する方法を現役エンジニアが解説【初心者向け】

初心者向けにJavaのequalsIgnoreCaseメソッドを使って大文字と小文字を区別せずに文字列を比較する方法について解説しています。文字列を比較するメソッドのひとつequalsIgnoreCaseメソッドの基本の書き方と実行結果の見かたを覚えましょう。

TechAcademyマガジンは受講者数No.1のオンラインプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。

JavaのequalsIgnoreCaseメソッドを使って大文字と小文字を区別せずに文字列を比較する方法について、TechAcademyのメンター(現役エンジニア)が実際のコードを使用して初心者向けに解説します。

Javaについてそもそもよく分からないという方は、Javaとは何なのか解説した記事を読むとさらに理解が深まります。

 

なお本記事は、TechAcademyのオンラインブートキャンプ、Java講座の内容をもとに作成しています。

 

田島悠介

今回は、Javaに関する内容だね!

大石ゆかり

どういう内容でしょうか?

田島悠介

equalsIgnoreCaseメソッドを使って大文字と小文字を区別せずに文字列を比較する方法について詳しく説明していくね!

大石ゆかり

お願いします!

 

目次

 

equalsIgnoreCaseメソッドとは

Javaでは文字列を比較するときに、”==”ではなくてメソッドを使います。そのメソッドとして用意されているものの1つがequalsIgnoreCaseメソッドです。

同じく、文字列を比較することのできるメソッドには、equalsメソッドがあります。

equalsメソッドが、大文字や小文字を完全に区別して文字列比較を行なうのに対して、equalsIgnoreCaseメソッドは、大文字と小文字を区別せずに比較することのできるメソッドです。

 

[PR] Javaで挫折しない学習方法を動画で公開中

equalsIgnoreCaseメソッドの使い方

equalsIgnoreCaseメソッドの使い方は。

String型.equalsIgnorecase(比較したい文字列);

のように記述します。

 

大文字と小文字を区別せずに文字列を比較する方法

上で使い方を紹介したequalsIgnoreCaseメソッドですが、返される値としては真偽値true、falseのいずれかで、String型変数の保持する文字列が比較したい文字列と大文字と小文字の区別なしに一致する場合→true、そうでない場合→falseが返されます。

なので、大文字と小文字を区別せずい比較したい文字列があれば、

String型.equalsIgnorecase(比較したい文字列);

もしくは、String型変数を比較したい場合は、

String型1.equalsIgnorecase(String型2);

のように記述すると良いでしょう。

 

equalsIgnoreCaseメソッドの注意点

eaualsIgnoreCaseメソッドを使う際の注意点が1つあります。それは、String型がnullの場合はエラーが返されるということです。

つまり、

String str = "";

str.equalsIgnoreCase("abc");

のように、nullを保持するString型変数でequalsIgnoreCaseメソッドを使うことはできないということです。equalsIgnoreCaseメソッドを使う場合はString型が必ずnullではなく、何らかの文字列を保持していることを確認することを心がけましょう。

 

実際に書いてみよう

それでは、実際にコードを書いて確認してみましょう。

class EqualsIgnoreCaseSample{
         public static void main(String args[]){

                //BigDecimal型を用意
                 String str1 = "ABCDE";

                //String型に変換したときのための変数
                 String str2 = "abcde";

                //文字列と比較する場合
                 if(str1.equalsIgnoreCase("abcde")){
                         System.out.println("文字列と一致しています。"); 
                 }

                //String型と比較する場合
                 if(str1.equalsIgnoreCase(str2)){
                         System.out.println("String型と一致しています。"); 
                 }

                //equalsメソッドの場合(falseの場合に実行される)
                 if(!str1.equals("abcde")){
                 System.out.println("文字列とは大文字と小文字を区別して一致していません。"); 
         }

        }
}

このコードを実行すると

文字列と一致しています。
String型と一致しています。
文字列とは大文字と小文字を区別して一致していません。

と表示されて、大文字と小文字を区別しないで比較することができたことが確認できます。

 

監修してくれたメンター

小倉翔悟 (おぐらしょうご)

AIプログラミングを使って開発を行う大学3年生。プログラミング歴は約3年。Pythonは割と好きな方。JavaもAndroid開発で触れていたりする。

大学では物理学を勉強中。好きな物理理論は一般相対性理論らしい。

意外と動物が好きだったり、、、。

 

大石ゆかり

内容分かりやすくて良かったです!

田島悠介

ゆかりちゃんも分からないことがあったら質問してね!

大石ゆかり

分かりました。ありがとうございます!

TechAcademyでは、初心者でも最短4週間で、JavaやServletの技術を使ってWebアプリケーション開発を習得できる、オンラインブートキャンプを開催しています。

 

また、現役エンジニアから学べる無料体験も実施しているので、ぜひ参加してみてください。