【Java】contentEqualsを使ってStringとStringBuilderとで比較する!

「String」インスタンスと「StringBuilder」インスタンスを比較するには、StringクラスのcontentEqualsメソッドを使用します。

contentEqualsメソッドは文字列を検索して、指定された文字列またはStringBuilderにまったく同じ文字シーケンスが含まれているかどうかを確認するメソッドになります。
contentEqualsメソッド以外にも文字列を比較するメソッドはありますが、比較する値によって返す値が変わってきます。

そのため、string型の文字列とStringBuilderでインスタンス化した文字列とを比較したい場合にはcontentEqualsメソッドを使用した方が良いです。

今回はcontentEqualsメソッドを使って以下の場合でStringとStringBuilderとで比較を行います。

⚫︎ contentEqualsメソッドを使ってStringとStringBuilderとで比較する場合
⚫︎ equalsメソッドを使ってStringとStringBuilderとで比較する場合

contentEqualsメソッドとは

contentEqualsメソッドとは、文字列を検索して、指定された文字列またはStringBuilderにまったく同じ文字シーケンスが含まれているかどうかを確認するメソッドになります。

contentEqualsメソッドの書き方

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

contentEqualsにStringBufferのインスタンスを指定することで文字列とStringBufferにまったく同じ文字が含まれているかどうかを確認することができます。

文字が存在する場合はtrueを返し、存在しない場合はfalseを返します。

StringBuilderとは

StringBuilderは、Stringクラス同様、文字列を扱うクラスになります。
文字を持たず、容量が16文字である文字列を作成することができます。

StringBuilderの書き方

StringBuilderの構文は下記となります。

StringBuilder型のインスタンスを作成します。
そうすることで、文字列を作成することができます。

StringとStringBuilderとで比較したサンプルコード

StringとStringBuilderとで比較したサンプルコードを紹介します。

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

出力結果

contentEqualsメソッドでの比較:等しい

contentEqualsメソッドで比較すると、同じもじであることからtrueを返します。

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

出力結果

equalsメソッドでの比較: 等しくない

equalsメソッドで比較すると同じ文字ですが、falseを返します。

今回のポイント

比較する際にはcontentEqualsメソッドを使用する

「String」インスタンスと「StringBuilder」インスタンスを比較するには、contentEqualsメソッドを使用する

⚫︎ contentEqualsメソッドで「String」インスタンスと「StringBuilder」インスタンスが保持している文字列が等しいかどうかを調べる

⚫︎ equalsメソッドでは「String」インスタンスと「StringBuilder」インスタンスとの比較には使えない
(判定対象が「String」インスタンス以外の場合は必ず「false」を戻すため)

補足

SringBuilder同士は直接、equalsメソッドで比較できない

equalsメソッドでインスタンス同士の比較を行うことはできません。
なぜなら「StringBuilder」クラスは「equals」メソッドをオーバーライドしていないからです。

「StringBuilder」インスタンス同士で比較したい場合は、どちらか一方を「String」インスタンスに変換してから比較します。

出力結果

equalsメソッドでの比較: 等しくない
Stringに変換してからの比較:等しい

関連記事

文字列を比較するequalsメソッドについてはこちらをご参考ください。

Writer
壷井

壷井

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

最新の案件情報

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