gpt4 book ai didi

java - 获取 getDeclaredMethods() 以匹配可变参数方法

转载 作者:行者123 更新时间:2023-12-04 00:33:46 26 4
gpt4 key购买 nike

我想使用 getDeclaredMethod() 来查找具有此签名的方法:

public void foo(String inArg1, Object... inArgs);

使用这个调用:

Class<?>[] argClasses = { String.class, Integer.class };
Method m = clazz.getDeclaredMethod("foo", argClasses);

但它会生成一个 NoSuchMethodException 异常。但是,可以调用该方法(假设您通过其他方式找到它):

Object[] args = { "arg1", new Integer(2) };
m.invoke(instance, args);

我可以使用 getDeclaredMethods() 将它们全部列出,然后尝试自己进行签名匹配,但这似乎需要大量工作。

我想做的事应该可行吗?我只是错过了一些愚蠢的东西吗?

最佳答案

可变参数只是数组的语法糖。方法的签名是

foo(String, Object[]);

而不是

foo(String, Integer);

关于java - 获取 getDeclaredMethods() 以匹配可变参数方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14022125/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com