メソッドの最初のパラメーターの型が であるかどうかを確認する必要がありますList<Class<? extends Exception>>
。それを文字列と比較するよりも良い解決策を提案できる人はいますか?
Method m = Foo.class.getMethod("m1", List.class);
if (m.getGenericParameterTypes()[0].toString().equals("java.util.List<java.lang.Class<? extends java.lang.Exception>>")) {
...
}
私は次のようなことを意味します:
List.class.isAssignableFrom((Class<?>)((ParameterizedType)m.getGenericParameterTypes()[0]).getRawType()));
これは、リストかどうかをチェックします。しかし、どのようにClass<? extends Exception>
タイプの部分を確認できますか?