はじめに
こんにちは。なっしーです!
前回に引き続き、Java(Apache、Spring環境)のtipsを紹介しようと思います!
前回はこちら↓
想定読者層
前回と同じく若手向けの記事です。
Javaでの業務ロジックや個人開発などでコードを書き始めた人を想定しています。
忙しい人向け結論
- Stringのnull、空文字チェックにはStringUtilsのメソッド(isEmpty()、isBlank())を使おう!
- StringUtilsには他にも便利なString用のメソッドがあるよ!
- Apache版とSpring版で同じメソッドとかがあるけど機能が違うよ!
- Spring版StringUtils.isEmpty()は非推奨になったよ!
本編
今回は主にApache版のStringUtils.isEmpty()
とStringUtils.isBlank()
について解説します。
皆さんはString型の文字列のnullチェックや空文字チェックはどう書いていますか?
null
やら""
やら" "
やら考えないといけないことが多くて大変ですよね。
それらの条件を何個も書かなきゃ…そんな苦労から解放するメソッドがStringUtils.isEmpty()
とStringUtils.isBlank()
です。
実際に文字列のnullチェックを行う様子がこちら↓
String hoge = "";
if (StringUtils.isEmpty(hoge)) {
// hogeは""で空なのでtrue
}
Apache版StringUtils.isEmpty()
StringUtils.isEmpty()はnull
と""
の場合のみtrueを返します。
" "
(半角スペース)はfalseを返します。当然"Apple"
や" Apple "
もfalseです。
Apache版StringUtils.isBlank()
一方、StringUtils.isBlank()はnull
と""
、" "
(半角スペース)のすべてにtrueを返します。
StringUtils.isEmpty()と同じく、"Apple"
や" Apple "
はfalseです。
Apache版とSpring版の違い
前回のCollectionUtilsと同じく、StringUtilsはApache版とSpring版がありますが、Spring版StringUtilsにはisBlank()がありません。
また、StringUtilsで提供されているメソッドの品数と内容も大きく異なります。
今回取り上げたisEmpty()、isBlank()を使う際は、Apache版を推奨します。
Spring版StringUtils.isEmpty()は非推奨のメソッドになっています。
StringUtilsには他にも便利なメソッドが!
StringUtilsにはisEmpty()、isBlank()だけでなく、他にも便利な文字列操作用のメソッドがたくさん存在します。
詳しくは公式ドキュメントをチェックしてみてください!
Apache版StringUtils