【Java】Apache Commons Langのススメ

1.Apache Commons Langとは?
TomcatやMavenで有名なApacheのプロジェクトの1つ。
java.langパッケージのクラス(StringやIntegerなど)について、「あると便利なんだけどな」っていうメソッドが詰まったライブラリです。
どんなプロジェクトでも絶対使う、でもStringクラスには用意されていない、だからプロジェクトが変わるたびに毎回作成している、というようなメソッドがてんこ盛りです。

2.一例
こういう記述、見かけたことありませんか?

if (str != null && !str.equals(“”)) {
}

「変数strがNULLでなく、かつ空文字でもない場合」の典型的な書き方ですね。
これがApache Commons LangのStringUtilsを使えば

if (StringUtils.isNotEmpty(str)) {
}

で済みます。プロジェクト次第ですが元の書き方では単体テストで3ケースになる所、StringUtilsを使えば2ケースで済みます。

他にもこういうの、よくありますよね。

if (code.equals(“01”) || code.equals(“02”) || code.equals(“03”) || code.equals(“05”)) {
}

これも

if (StringUtils.equalsAny(code, “01”, “02”, “03”, “05”)) {
}

で済んじゃいます。

3.まとめ

他にも
・取得した値がNULLの場合、代わりにあらかじめ設定しておいた初期値を代入・出力するメソッド
・文字列が全て小文字か、文字列が全て大文字か判別するメソッド
・文字列が全て文字か、文字列が全て数字かを判別するメソッド
など色々便利なものが揃っています。

何よりいいのが製作がApacheなので頭の固いお偉いさんにも説得しやすい所!
どこが作ったのかわからないようなライブラリだと危険だから入れさせてくれないなんてことありますが、Apacheなら説得しやすい!

というわけで積極的に導入して、作業効率を上げていきましょう!