Java 转换列表<;类别>;去上课。。。获取声明的方法
我正在尝试获取我在运行时使用加载的类的方法。Java 转换列表<;类别>;去上课。。。获取声明的方法,java,reflection,java-11,Java,Reflection,Java 11,我正在尝试获取我在运行时使用加载的类的方法。Class.getDeclaredMethod的参数是字符串名、类。。。参数类型。我将参数类型作为列表 如何将列表中的参数类型传递给类。getDeclaredMethod 我尝试了(Class[])parametertypes.toArray(),但没有成功。您就快成功了。这很简单 Class[] paramsAr = new Class[parameterTypes.size()]; parameterTypes.toArray(paramsAr);
Class.getDeclaredMethod
的参数是字符串名、类。。。参数类型
。我将参数类型作为列表
如何将列表中的参数类型
传递给类。getDeclaredMethod
我尝试了(Class[])parametertypes.toArray()
,但没有成功。您就快成功了。这很简单
Class[] paramsAr = new Class[parameterTypes.size()];
parameterTypes.toArray(paramsAr);
如果我正确理解了这个问题,为什么不使用.getDeclaredMethod(“,List.class)
?你能用你想要查找的确切方法签名和你尝试过的代码更新这个问题吗?我有一个参数类型列表。列表不是参数类型。如果有机会,请记得单击左上角的复选框,将其标记为正确答案。只需使用Class[]paramsAr=parameterTypes.toArray(新类[0])
@Holger文档(对于arraylist)状态:“如果列表适合指定的数组,它将在其中返回。否则,将使用指定数组的运行时类型和此列表的大小分配一个新数组。”因此,除非我有误解,事实上,这比我在回答中所演示的更糟。它更简单,而且基本上也是这样。如果您关心的是短暂的零长度数组,我建议您阅读。@Holger是的,似乎我遗漏了什么。你成功地启发了我,也伤了我的头。这就是我问问题8得到的-|