2011年4月1日金曜日

キャストに失敗するとnullを返すメソッド

キャストが失敗したらnullを返すメソッドを作りたいけど、
戻り値がObjectだともう一回キャストしないといけない…

そんな悩みを経て、
総称型で解決させることにしました。

public class MyUtilities {
public static <T> T castInstance(final Object object, final Class<T> clazz) {
try {
return clazz.cast(object);
} catch (ClassCastException e) {
return null;
}
}
}

これでメソッドの戻り値型が動的に変化します。
ああ、キャストに失敗する可能性が高い場合はinstanceofとかで判定した方がいいかもしれません。

…役に立つの?これ。

0 件のコメント:

コメントを投稿