【Java入門】StringUtilsの使い方総まとめ(Apache Commons Lang)

こんにちは!エンジニアの中沢です。

Javaには文字列がnullの場合でもNullPointerExceptionの例外が発生しないようにするための、「StringUtilsクラス」があります。

StringUtilsクラスは「Apache Commons Lang」のライブラリを使う必要があるので、上手く活用してください。

この記事では、

  • StringUtilsとは
  • 文字列を調べる方法
  • という基本的な内容から、

  • 空白や特定の文字を削除する方法
  • 文字列を置換や追加する方法
  • 文字列の分割や結合をする
  • などの応用的な使い方に関しても解説していきます。今回はこれらの方法を覚えるために、「StringUtilsクラス」の使い方をわかりやすく解説します!

    StringUtilsとは

    StringUtilsクラスは、文字列がnullの場合でもNullPointerExceptionの例外が発生しないように作られています。そのため、文字列がnullの場合に例外を回避するコードを書く手間を省くことができます!

    StringUtilsクラスは「Apache Commons Lang」のライブラリに含まれているため、使用するにはライブラリをダウンロードしてプロジェクトに追加する必要があります。

    ライブラリのダウンロードページはこちらです。
    http://commons.apache.org/proper/commons-lang/download_lang.cgi

    また、ライブラリを使うには次のようなimport文が必要です。

    nullの処理以外は標準APIと同じ動作をするため、この記事では文字列がnullの場合の動作を中心に解説します。

    文字列を調べる方法

    文字列がnullか空か空白か調べる(isEmpty/isBlank)

    文字列がnullか空か空白かを調べるにはisEmptyメソッドisBlankメソッドを使います。

    次の例でisEmptyとisBlankの動作を確認してみましょう。

    文字列がnullの場合でも、isEmptyとisBlankは例外を発生させずに”true”を返しているのが確認できます!

    文字列を比較する(equals/compare)

    文字列を比較するにはequalsメソッドcompareメソッドを使います。

    文字列がnullの場合でも比較ができていることが確認できます!

    指定した文字列があるか調べる(indexOf/contains)

    指定した文字列があるか調べるにはindexOfメソッドcontainsメソッドを使います・

    indexOfメソッドのように戻り値がint型の場合は、文字列がnullのときに”-1”を返します。

    アルファベットか数字か空白か全角か判定する(isAlpha/isNumeric/isWhitespace/isAsciiPrintable)

    アルファベットや全角、半角などの文字を判定するには、isAlphaメソッドisNumericメソッドisWhitespaceメソッドisAsciiPrintableメソッドを使います。

    StringUtilsを使うと文字の判定も簡単に行うことができます。

    空白や特定の文字を削除する方法

    空白や制御文字を削除する(trim/strip)

    空白や改行コードなどの制御文字を削除するにはtrimメソッドstripメソッドを使います。

    文字列の先頭と末尾の空白や改行コードが削除できました!

    指定した文字を削除する(remove)

    指定した文字を削除するにはremoveメソッドを使います。

    このように文字を指定して削除することができました!

    文字列を置換や追加する方法

    指定した文字を置換する(replace)

    指定した文字を置換するにはreplaceメソッドを使います。

    このように文字列の置換ができました!

    文字列がnullのときに空の文字列に変える(defaultString)

    文字列がnullのときに空の文字列を返したい場合にはdefaultStringメソッドを使います。

    このようにnullを空の文字列に変えることができました!

    文字列を追加する(leftPad/repeat)

    文字列の先頭に指定した桁数になるように文字列を追加するには、leftPadメソッドを使います。

    同じ文字列を繰り返し追加する場合はrepeatメソッドを使います。

    このように文字列の追加ができました!

    文字列の分割や結合をする

    文字列を分割する(split)

    文字列を空白や指定した文字で分割するにはsplitメソッドを使います。

    このように文字列の分割ができました!

    文字列を結合する(join)

    文字列を空白や指定した文字で結合するにはjoinメソッドを使います。

    このように文字列の結合ができました!

    他にはどんなメソッドがあるの?

    ここでは紹介しきれなかったメソッドはこちらの公式ドキュメントで確認できます。
    https://commons.apache.org/proper/commons-lang/apidocs/org/apache/commons/lang3/StringUtils.html

    String(文字列)クラス総まとめ

    String(文字列)クラスについてさらに詳しく知りたいときはこちらの記事を確認してください!

    まとめ

    いかがでしたか?

    今回はStringUtilsの使い方について解説しました。文字列がnullの場合の例外処理をする必要がなくなり、便利なのでぜひ活用してくださいね。

    もし文字列がnullのときの例外処理が面倒だと思ったらこの記事を確認してください!

    LINEで送る
    Pocket

    最短でエンジニアを目指すなら侍エンジニア塾

    cta_under_bnr

    侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

    あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

    無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

    無料体験レッスンの詳細はこちら

    書いた人

    中沢 丈

    中沢 丈

    フリーランスエンジニア。
    システム開発からコンテンツ作成まで幅広く対応します。

    連絡先はこちらです。
    [email protected]

    おすすめコンテンツ

    あなたにぴったりなプログラミング学習プランを無料で診断!

    プログラミング学習の効率を劇的に上げる学習メソッドを解説