0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【備忘録】.isEmpty()の話

Last updated at Posted at 2024-06-15

以前投稿した記事で、String型のnullチェックは.isEmpty()を使えばいいということを書いたんですが、どうやらこのメソッド2つあるらしいのでその違いと注意点をまとめていこうと思います。

String.isEmptyとStringUtils.isEmpty

isEmptyメソッドには「String.isEmpty」と「StringUtils.isEmpty」があるそうです。

共通点としては、どちらも『空文字判定をしてくれる』という点でが挙げられます。

相違点

では、どういった点が異なっているのか。 答は『null判定をしてくれるか否か』という点にあります。

StringUtils.isEmptyは空文字の場合trueを返すのと同時に、nullの場合もtrueを返してくれます。

一方で、String.isEmptyはnullの場合はNullPointerExceptionが発生してしまいます。

この違いを明らかにしておかないとnullチェックの意味を成せないということになってしまいますね。

StringUtils.isEmptyの使い方

StringUtils.isEmptyを使用したい場合は「Apache Commons Lang」のライブラリをインストールして「org.apache.commons.lang3.StringUtils」をインポートする必要があるそうです。

プロジェクトにライブラリがインストールさえされていれば、あとはエディターで簡単にインポートできそうですね。

まとめ

今回は、以前まとめたnullのチェックを深めた内容でした。使い分けは、そのプロジェクトで色々状況が違うでしょうから一概には言えませんが、私が使用するのは大体StringUtils.isEmptyです。(空文字はNGでnullはOKという場面があまりないから。)

今までは無意識的に使っていましたが、今後は目的と機能を意識して実装していきたいと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?