【Java】equals/compareTo/==演算子を使って文字列(String)の比較を行う!

文字列(String)の比較を行うにはequalsメソッドを使用します。
比較した際に一致した場合はtrueを返し、異なった場合はfalseを返します。

equalsとは別にcompareToメソッドを使って文字列の比較を行うこともできますが、返り値がequalsと異なるので注意が必要です。

また、文字列が同じかどうかを判断する際に「==」演算子も思い浮かぶと思いますので、「==」を使って文字列の比較ができるかどうか調べます。

今回はequals、compareTo、==演算子を使って文字列の比較を行ってみます。

equalsメソッドとは

equalsメソッドとは、文字列の比較を行うことができます。
一致するときにtrueを返し、一致しない場合にはfalseを返すようになります。

equalsメソッドの書き方

equalsメソッドの構文は下記となります。

()の引数の文字列2を指定することで、文字列1と文字列2を比較するようになります。
比較した場合、文字列1と文字列2が一致するならtrue、違うならfalseを返します。

compareToメソッドとは

ecompareToメソッドも文字列を比較するために使います。
しかし、equalsメソッドと比べて、compareToメソッドは比較したのどちらが大きいか、または同じかを比較し、一致する場合は「0」を、異なる場合は「0以外」を返します。

compareToメソッドの書き方

compareToメソッドの構文は下記となります。

()の引数の文字列2を指定することで、文字列1と文字列2を比較するようになります。
比較した場合、一致する場合は「0」を、異なる場合は「0以外」を返します。

文字列を比較するサンプルコード

equals、compareTo、==演算子を使って文字列を比較するサンプルコードを見てみます。

equalsメソッドで比較する場合

equalsメソッドを使って文字列の比較を行ってみます。

出力結果

equalsメソッドでの比較
strAとstrBは等しい
strAとstrCは等しくない

compareToメソッドで比較する場合

compareToメソッドを使って文字列の比較を行ってみます。

出力結果

compareToメソッドでの比較
strAとstrBは等しい
strAとstrCは等しくない

==演算子で比較する場合

==演算子を使ってを使って文字列の比較を行ってみます。

出力結果

==演算子での比較
strAとstrBは等しくない
strAとstrCは等しくない

今回のポイント

equaisメソッドで文字列を比較

文字列を比較するにはStringクラスのequalsメソッドを使用する

• Stringクラスのequalsメソッドで2つの文字列が等しいかどうかを判定し、等しいなら「true」を返し、そうでないなら「false」を返す
• StringクラスのcompareToメソッドも2つの文字列が等しいかどうかを判定するが、2つの文字列の内容が一致する場合に「0」を、一致しない場合は「0以外」を戻す
• 「==」演算子では内容が一致しているかどうかではなく、同じインスタンスかどうかを判定する

関連記事

StringとStrigBuilderとで比較する方法についてはこちらをご参考ください。

Writer
壷井

壷井

株式会社flyhawkの壷井です。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。

最新の案件情報

フリーランスエンジニアの案件探し