一尘不染

如何反思地调用以null为参数的方法?

java

我试图以反射方式在Java中调用此方法:

public void setFoo(ArrayList<String> foo) { this.foo = foo; }

问题是我想将null传递为null,以便foo变为null。

但是,在以下方法中,它假定没有参数,并且我得到IllegalArgumentExceptionwrong number of arguments):

method.invoke(new FooHolder(), null);
// -----------------------------^ - I want null to be passed to the method...

这是如何完成的?


阅读 221

收藏
2020-12-03

共1个答案

一尘不染

尝试

method.invoke(new FooHolder(), new Object[]{ null });
2020-12-03