0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MapのnullチェックにはMapUtils.isEmpty()を使おう!

Last updated at Posted at 2024-04-04

はじめに

こんにちは!なっしーです!

前回に引き続き、Java(Apache、Spring環境)のtipsを紹介しようと思います!

前回はこちら↓

想定読者層

前回と同じく若手向けの記事です。
Javaでの業務ロジックや個人開発などでコードを書き始めた人を想定しています。

忙しい人向け結論

  • MapのnullチェックにはMapUtilsのメソッド(isEmpty())を使おう!
  • MapUtilsはApache版とSpring版があるけど機能は一緒だよ!

本編

今回紹介するMapUtils.isEmpty()はApache版とSpring版がありますが、どちらも一緒の機能なので解説だけします!

皆さんはMap型のnullチェックはどう書いてますか?
私はこのメソッドを知るまで、Mapのnullチェックはこんな感じで書いてました。

Map<String, Object> hoge = new HashMap<>();

if (hoge == null || hoge.isEmpty()) {
    // hogeは空なのでtrue
}

上記をMapUtils.isEmpty()で書き換えるとこうなります↓

Map<String, Object> hoge = new HashMap<>();

if (MapUtils.isEmpty(hoge)) {
    // hogeは空なのでtrue
}

もしMapUtils.isEmpty()をstaticでimportしていた場合はもっと短くなりますね。

import static org.apache.commons.collections4.MapUtils.isEmpty;

// 中略

Map<String, Object> hoge = new HashMap<>();

if (isEmpty(hoge)) {
    // hogeは空なのでtrue
}

実はMapUtils.isEmpty()の実装を見にいくと、hoge == null || hoge.isEmpty()と同じことをしていることがわかります。
わざわざ毎回hoge == null || hoge.isEmpty()と書くより、先人たちが用意してくれたMapUtils.isEmpty()を使った方が楽で間違いもなさそうです。

逆にMapUtils.isNotEmpty()もある

MapUtilsにはMapUtils.isEmpty()だけでなく、MapUtils.isNotEmpty()もあります。
こちらは値が入っていることを判定できます。便利ですね。

MapUtilsには他にも便利なメソッドが!

MapUtilsにはisEmpty()、isNotEmpty()だけでなく、他にも便利なMap操作用のメソッドがたくさん存在します。
詳しくは公式ドキュメントをチェックしてみてください!

Apache版MapUtils

Spring版MapUtils

0
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?