ちょっとした工夫 RuntimeExceptionを使いたい MapUtils.getAsList編
2007/04/03
java
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;
}
: