Listのnullチェックと空チェックを実装し、その使い方のサンプルコードを掲載しています。
List型のインタフェースを扱うときにけっこう面倒なのが、nullチェックと空チェック。
Listインタフェースのメソッドに、isEmptyが用意されていますが
これはisEmptyを呼び出すインスタンスがnullでないことが前提で実装されています。
やたらに使ってNullPointerException出すかもしれないソースにはしたくないし
いちいちnullとサイズチェック書くのも面倒だし
ListインスタンスのisEmptyメソッドを確実に呼び出せるように
Listを返すメソッド全てで必ずnewするのもパフォーマンス考えるとやりたくない。
ということで、ListUtilsクラスと
isEmpty(List)、isNotEmpty(List)を簡単に作ってみました。
簡単な実装ですが、意外とあまり見かけません。
手前味噌ですが、なかなか便利に使えるのではと思います。
※商用などでの使用はお控えください。
以下、Listは全てjava.util.Listです。
public class ListUtils { /** * List型の引数がnullまたは空であればtrueを返します * @param list * @return */ public static boolean isEmpty(List list) { return list == null || list.size() == 0; } /** * List型の引数がnullでも空でもなければtrueを返却します * @param list * @return */ public static boolean isNotEmpty(List list) { return !isEmpty(list); } }
上記を、例えば
List list = Hoge.getHogeList();
で、listのチェックとして
if(ListUtils.isEmpty(list)) {
// エラー処理
}
としてやると、けっこう楽でソースも短く実装できるかと思います。
問題は、isEmpty、isNotEmptyともにList型としていますが
Genericsを使っていないので、eclipseなどを使っていると警告が出てきます。
この警告を嫌う人にとっては使いにくいかもしれません。
Javaトップへ