はじめに
こんにちは!なっしーです!
前回に引き続き、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