ちょっとした工夫 RuntimeExceptionを使いたい MapUtils.getAsList編 2007/04/03

java1.4以前でMapの値を取得する際に、キャストするのが面倒なので、MapUtilsユーティリティークラスで、getAs型 というユーティリティメソッドを用意して値をとっています。

それで、値がnullの場合さらにRuntimeExceptionを発生させたいのですが、いちいちnullチェックを呼び出し元でするのがいやなので、ユーティリティメソッドの引数にRuntimeExceptionを指定するように、してみました。

引数のRuntimeExceptionを指定しなければ、従来通りの動作となります。



public static List getAsList(Map map, Object key, List defaultValue,
RuntimeException runtimeException) {
Object object = map.get(key);
if (object == null && !(object instanceof List)) {

if (runtimeException != null) {
throw runtimeException;
}

return defaultValue;

}

return (List) object;

}

: