对私有方法private void equalsAddress(String name){}的疑问
来源:3-10 自由编程
qq_旧安_0
2019-11-25 10:34:41
老师请问对带参的equalsAddress方法,如何把null作为参数传入,我尝试了一下会报异常
//获得私有有参有返回值的方法
Class class7=Class.forName("reflect.Goods");
Goods goods8=(Goods)class7.newInstance();
Method method3=class7.getDeclaredMethod("equalsAddress",String.class);
method3.setAccessible(true);
System.out.println( method3.invoke(goods8,null) );1回答
同学你好!
invoke 方法的第二个参数是可变参数(实际上是一个数组),你直接给一个 null 的话,jvm 会视为你没给参数。所以会报错。
如果你想为null,将 null 显示强转为 String 就可以了

如果我的回答解决了你的疑惑,请采纳,祝学习愉快~
相似问题
回答 1