小编use*_*880的帖子

Java反射:在运行时检查方法参数的类型

我需要检查方法第一个参数的类型是否List<Class<? extends Exception>>.任何人都可以提出比将其与String相比更好的解决方案吗?

Method m = Foo.class.getMethod("m1", List.class);
if (m.getGenericParameterTypes()[0].toString().equals("java.util.List<java.lang.Class<? extends java.lang.Exception>>")) {
  ...
}
Run Code Online (Sandbox Code Playgroud)

我的意思是这样的:

List.class.isAssignableFrom((Class<?>)((ParameterizedType)m.getGenericParameterTypes()[0]).getRawType()));
Run Code Online (Sandbox Code Playgroud)

这检查它是否是一个列表.但我如何检查Class<? extends Exception>该类型的部分?

java reflection

9
推荐指数
1
解决办法
1万
查看次数

标签 统计

java ×1

reflection ×1