Javaの型、変数、定数

【java】string型の比較が一致しない時の対処方法を徹底解説

 

文字列比較の基本

Javaで文字列を比較する基本的な方法はequals()メソッドを使用することです。

equals()メソッドは、二つの文字列が完全に一致するかどうかをチェックします。一致する場合はtrueを、そうでない場合はfalseを返します。

サルモリ
そうだね、equals()って基本中の基本だよね!でも、大文字小文字を区別するから注意が必要だよ。

equals()メソッドの使用例

ソースコード例



 出力結果
true
false
サルモリ
みたいに、equals()は大文字と小文字を区別するから、"Hello"と"hello"は一致しないんだね。

大文字小文字を無視した比較

大文字小文字を区別せずに文字列を比較したい場合は、equalsIgnoreCase()メソッドを使用します。

このメソッドは、文字列の内容が同じであれば、大文字小文字の違いを無視してtrueを返します。

サルモリ
これは便利だね。ユーザー入力など、大文字小文字が不確定な場合に使えるよ。
Java言語のStreamAPIを徹底的に学びたい方は画像をクリックしてご覧ください!
KindleUnlimited会員であれば、全ての本をご覧頂けます。 StreamAPIを理解すれば、Javaの世界が変わる 第1版

equalsIgnoreCase()メソッドの使用例

ソースコード例



 出力結果
true
サルモリ
大文字小文字を気にせずに、"Hello"と"hello"が一致するかチェックできるんだ。便利だね!

文字列の辞書順比較

文字列を辞書順に比較するには、compareTo()メソッドを使用します。

このメソッドは、比較する文字列が引数の文字列より辞書順で前にある場合は負の整数、同じである場合は0、後ろにある場合は正の整数を返します。

サルモリ
辞書順比較は、文字列のソートなどに使えるね。

compareTo()メソッドの使用例

ソースコード例



 出力結果
負の整数
正の整数
サルモリ
compareTo()を使うと、文字列が辞書順でどちらが先かを数値で知ることができるんだね。

大文字小文字を無視した辞書順比較

`compareTo()メソッドと同様に、compareToIgnoreCase()メソッドは文字列を辞書順で比較しますが、大文字と小文字の違いを無視します。

このメソッドは、比較する文字列が引数の文字列より辞書順で前にある場合は負の整数、同じである場合は0、後ろにある場合は正の整数を返しますが、この比較で大文字と小文字の違いは考慮されません。

サルモリ
これもまた、ユーザー入力を扱う際に便利だね。大文字小文字を気にせずにソートできるから。

compareToIgnoreCase()メソッドの使用例

ソースコード例



 出力結果
0
サルモリ
compareToIgnoreCase()を使うと、"hello"と"Hello"が辞書順で同じ位置にあると判断されるんだ。

大文字小文字の違いを気にしないで済むんだね!

文字列比較におけるよくある間違い

Javaにおける文字列比較では、いくつかの一般的な間違いがあります。

たとえば、==演算子を使用して文字列の等価性をチェックすることです。

==演算子は、二つの参照が同じオブジェクトを指しているかどうかをチェックします。

そのため、文字列の内容が同じでも、異なるオブジェクトを指している場合はfalseを返します。

サルモリ
うん、これは初心者がよくやりがちなミスだね。内容が同じでも、異なるオブジェクトを指していたらfalseになっちゃう。

==演算子による文字列比較の間違い例

ソースコード例



 出力結果
false
サルモリ
だから、文字列の内容が同じかどうかを確認したいときは、equals()やequalsIgnoreCase()を使うのが正解だね。
integer型の比較はコチラ【Java】integer型からint型、int型からinteger型への変換と比較方法を解説

JavaでのintとIntegerの変換:わかりやすく解説 JavaでのintとIntegerの変換の必要性 Javaでは、プリミティブデータ型であるintと、そのラッパークラスであるIntegerが ...

続きを見る

まとめ

この記事では、Javaにおける文字列の比較方法について、equals(), equalsIgnoreCase(), compareTo(), compareToIgnoreCase()メソッドを中心に解説しました。これらのメソッドを適切に使用することで、文字列比較を正確に行うことができます。

また、==演算子による比較の誤りとその回避方法についても説明しました。文字列比較はプログラミングにおいて頻繁に行われる操作の一つです。この記事が、文字列比較を正しく理解し、Javaプログラミングスキルを向上させるのに役立てば幸いです。

最後まで読んで頂き、ありがとうございました。少しでもお役にたてたなら幸いです!

サルモリ
最後まで読んでくれてありがとう!!

-Javaの型、変数、定数

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock