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クラスの使い方から徐々に新しいメソッドも利用出来るように挑戦してみてください。


    ポテパンが提供するサービスについて

    本メディア「ポテパンスタイル」を運営する株式会社ポテパンは、エンジニアキャリア領域で複数サービスを提供しています。

    ポテパンフリーランス

    ポテパンフリーランス

    フリーランスエンジニアの方に高単価案件をご紹介しております。弊社ではフリーランス案件を常時300件ほど保有しており、その中からあなたに適した案件をご案内いたします。また、これから独立してフリーランスになる方の無料個別相談も承っております。フリーランスになった後の案件獲得方法やお金面(税金や保険など)についてお答えいたします!フリーエンジニアになりたい方向けのコンテンツも盛りだくさんです。

    ポテパンキャリア

    ポテパンキャリア

    エンジニア職専門の転職エージェントです。ポテパンキャリアでは、技術のわかるエージェントがあなたの転職をサポートします。エージェント自身がエンジニアなので、あなたと同じ目線で仕事内容や今後のキャリアについて一緒に考えることができます。年収800万円以上のハイスペック転職をご希望の方は「ポテパンプロフェッショナル」もご用意しておりますのでご利用下さいませ。

    ポテパンキャンプ

    ポテパンキャンプ

    ポテパンキャンプでは、RubyにてゼロからオリジナルのECサイトを作り上げてる3ヶ月間の実践型カリキュラムを提供しております。すでに本スクールの卒業生は、エンジニア職として様々な企業様に就職しております。なお、本スクールは受講料25万円と他社スクールに比べ格安となっており、またポテパンからご紹介させていただいた企業へ就職が決まった場合は、全額キャッシュバックいたします。



    株式会社ポテパンは、企業とエンジニアの最適なマッチングを追求しています。気になるサービスがあれば、ぜひ覗いてみてください!

    ポテクラバナー ポテプロバナー

    この記事をシェア

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









    ABOUT US

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

    READ MORE

    ポテパンおすすめ案件