JAVA反射方法带有一个数组参数加一个正常的参数,这该如何反射

假设方法为publicvoidaaa(String[]args,Objectobj);而反射调用一个方法publicObjectfanshe(Object[]params... 假设方法为public void aaa(String[] args,Object obj);而反射调用一个方法public Object fanshe (Object[] params){ method.invoke(newInstanceobj,params); }
这时候我的params由外部传入,那么请问如何设置反射参数
展开
 我来答
ala400
2014-11-10 · TA获得超过1229个赞
知道小有建树答主
回答量:262
采纳率:100%
帮助的人:275万
展开全部

不是很明白你具体想做什么!能不能详细具体一点

反射调用方法例子,具体不知道你的疑问在什么地方,你说的设置反射参数代表什么?

public class Test
{
    public void methodA(String[] args,Object obj)
    {
        System.out.println("数组:"+Arrays.toString(args)+", 对象:"+obj);
    }
    
    public static void test(String[] args) throws Exception
    {
        Class<?> clazz=Class.forName("Test");
        Method method=clazz.getMethod("methodA",args.getClass(),Object.class);
        method.invoke(clazz.newInstance(),args,new Object());
    }
    
    public static void main(String[] args) throws Exception
    {
        test(new String[]{"A","B","C"});
    }
}
更多追问追答
追问
我补充了一下问题,你看看,因为这里写有字数限制
追答
写完善例子,,你看看
public class Test
{
    public void methodA(String[] args,Object obj)
    {
        System.out.println("数组:"+Arrays.toString(args)+", 对象:"+obj);
    }
    
    public static void test(String classPath,Object obj,String methodName,Object[] params) throws Exception
    {
        Class<?> clazz=Class.forName(classPath);
        //这里方法对象获取我简单这样写,但是具体params里面应该是什么样的数据下面说
        Method method=clazz.getMethod(methodName,new String[0].getClass(),Object.class);
        //下面是获取到method对象后调用直接传进去一个Object[]就可以了,参数匹配应该在获取方法的时候验证
        method.invoke(obj,params);
    }
    
    public static void main(String[] args) throws Exception
    {
        //这里参数是应该遵循一定规则的,不是随意的,长度应该是要调用的方法参数的个数
        Object[] params=new Object[2];
        
        //参数的内容也是应该遵循一定规则的,每个位置对应具体参数类型
        params[0]=new String[]{"A","B","C"};
        params[1]=new Object();
        
        test("Test",new Test(),"methodA",params);
    }
}
TableDI
2024-07-18 广告
当我们谈到Python与Excel的拆分时,通常指的是使用Python的库来读取Excel文件中的数据,然后根据某种逻辑(如按行、按列、按特定值等)将数据拆分成多个部分或输出到新的Excel文件中。上海悉息信息科技有限公司在处理这类任务时,... 点击进入详情页
本回答由TableDI提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式