Javaの文字列操作を理解しよう!Stringクラスの基本的な使い方を解説!
  • facebookページ
  • twitterページ
  • 2020.01.06

    Javaの文字列操作を理解しよう!Stringクラスの基本的な使い方を解説!

    Javaで最も利用するクラスの1つに文字列を扱う「String」クラスがあります。

    本記事では、JavaのStringクラスを利用した文字列操作について基本的な使い方をご紹介していきます。

    Javaで文字列を扱うStringクラスとは

    Javaで文字列を扱うためには標準ライブラリの中に用意されているStringクラスを利用します。

    Stringクラスでは文字列を保持し、様々な操作を行うことが出来るメソッドが提供されています。

    Stringクラスの宣言方法

    Stringクラスでは利用する際の宣言方法として下記のように記載します。

    宣言と同時に初期値を設定することも可能です。

    Stringクラスではnew演算子を使わないの?

    オブジェクト指向をご存知の方は、クラスをインスタンス化するためのnew演算子を使わないのかと疑問に思う方もいらっしゃるかと思います。

    もちろんStringもクラスですので下記のような記述方法が可能です。

    Stringクラスでは他の参照型クラスと異なり、new演算子を使用せず直接値を設定することが可能な仕組みが予め用意されているため、new演算子を使用せずに値を設定する方法が一般的です。

    new演算子を使用するとメモリ領域の面でも無駄な処理が発生してしまうので、直接値を設定する方法が推奨されています。

    Javaでの文字列結合の方法を理解しよう!

    まずはJavaの文字列操作で利用する機会の多い文字列結合の方法をご紹介していきたいと思います。

    「+」演算子を用いた文字列結合

    Javaでは「+」演算子を利用することで簡単に文字列結合を行うことが可能です。

    「+」演算子を用いた文字列結合のサンプルコード

    実際にJavaプログラムで文字列結合を行ったサンプルが下記のコードです。

    サンプルコードを実行した結果が下記の通りとなります。

    「concat」メソッドを用いた文字列結合

    Stringクラスに用意されている「concat」メソッドを利用することでも文字列結合が可能です。

    concatメソッドを用いた文字列結合のサンプルコード

    Javaプログラムでconcatメソッドを利用した文字列結合のサンプルコードが下記となります。

    出力結果は下記の通りです。

    Javaでの文字列比較の方法を確認しよう!

    Javaプログラムにおいて、文字列比較も頻出処理の1つです。

    文字列を比較する際にはStringクラスの「equals」メソッドを利用します。

    equalsメソッドを用いた文字列比較

    equalsメソッドを用いた構文は下記の通りとなります。

    equalsメソッドを用いた文字列比較のサンプルコード

    JavaプログラムでStringクラスのequalsメソッドを用いた文字列比較のサンプルコードが下記となります。

    サンプルコードを実行した結果は下記の通りとなります。

    Javaの文字列比較で「==」演算子はなぜ推奨されないのか?

    比較演算子の代表として「==」演算子の存在がありますが、Javaの文字列比較では利用が推奨されていません。

    「==」演算子を用いて比較を行った場合、メモリ上の同じ場所に比較した文字列が格納されているかを確認しているため厳密な文字列比較とは異なることが理由となります。

    サンプルコードのequalsメソッドで比較している部分を「==」演算子に変更してみると、「文字列は異なります。」と出力されることがご確認頂けます。

    nullかどうかを確認するためには「==」演算子での比較が必要

    「==」演算子での文字列比較は推奨されていないと上述しましたが、文字列が「null」かどうかを判断するためには「==」演算子でのチェックが必要となります。

    Stringクラスの「equals」メソッドは文字列がnullの場合、nullPointerExceptionが発生してしまいます。

    つまり、比較対象の文字列にnullが含まれる可能性がある場合には、「==」演算子でnullチェックを行った上で「equals」メソッドで文字列比較を行う必要があります。

    nullを考慮して文字列比較を行ったサンプルコードの完成形

    文字列にnullが含まれている可能性を考慮して作成したサンプルコードが下記となります。

    サンプルコードを実行した結果が下記の通りとなります。

    Stringクラスのequalsメソッドでは、サンプルコードの「str1」変数に該当する文字列が「null」の場合に、NullPointerExceptionを出力します。

    ポテパンダの一言メモ

    不注意によるバグを生まないように、文字列にnullが入る可能性のある場合は、nullチェックを行った後equalsメソッドでの文字列比較を行う必要があることをしっかりと意識しておきましょう。

    さいごに:Javaの文字列(String)クラスには便利なメソッドがたくさん用意されている

    本記事では、Javaで文字列を扱うクラスとして「String」クラスの基本情報から頻出メソッドの紹介を行ってきました。

    Stringクラスにはまだまだ便利なメソッドがたくさん用意されており、文字列の「抽出」「検索」「置換」「整形」など様々な処理を行うことが可能です。

    一気に様々な処理を覚えることは難しいと思いますので、まず今回ご紹介したStringクラスの使い方から徐々に新しいメソッドも利用出来るように挑戦してみてください。



    優良フリーランス案件多数掲載中!
    フリーランスエンジニアの案件をお探しなら
    ポテパンフリーランス

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE