【问题标题】:Java Reflection with Object... as a parameter以 Object... 作为参数的 Java 反射
【发布时间】:2013-01-20 18:48:05
【问题描述】:

我想使用 Java 反射来调用我的一个具有以下签名的类的方法:

public Object execute(Object...params)

在我的加载器类中,我已经加载了类,但我不确定如何设置我的 getMethod 调用。目前,我有这样的事情:

Method classEntry = _loadedClass.getMethod("execute", new Class[]{Object[].class});

然后我尝试在创建我的类的 newInstance 后调用此方法,方法是:

Object classObj = _loadedClass.newInstance();
classEntry.invoke(classObj, params); // params comes in from the method as Object...params

这给了我一个java.lang.NoSuchMethodException 异常。我知道我的问题在于我的 getMethod 调用。我应该如何设置它以接受 params 对象?

【问题讨论】:

    标签: java reflection


    【解决方案1】:

    如果paramsObject [] 类型,那么您需要像这样调用invoke

    classEntry.invoke(classObj, new Object [] {params});
    

    但这并不能解释NoSuchMethodException

    【讨论】:

    • 解决了!将其添加到固定的所有内容中。我喜欢快速修复!再次感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-24
    • 2013-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-19
    相关资源
    最近更新 更多