小白程序媛 Java method invoke 回调函数,入参如何传一个 null

2019-07-20 20:53:55 +08:00
 xffighting
Method setMethod = request.getClass().getMethod(methodName, paramType);
               
setMethod.invoke(request, null);
-------------------------------------------------------------------------------------------------------

void setName(String name){
 this.name = name;
 }

正如各位大佬看到的,我这里获得一个方法,这个方法的入参是 String 现在,想要给 setName 通过 invoke 回调函数传一个 null 的入参。但是 invoke()方法的第二个入参如果是 null 的话,表示这个方法没有入参, 求各位大佬支招。

3613 次点击
所在节点    Java
3 条回复
liaojl
2019-07-20 21:54:26 +08:00
将 null 显示强转为 String 就可以了
``` java
setMethod.invoke(request, (String)null);
```
invoke 方法的第二个参数是可变长的(实际上是一个数组),你直接给一个 null 的话,jvm 会视为你没给参数。
xffighting
2019-07-22 09:19:26 +08:00
@liaojl 可以了 感谢!! 太棒了!
guo8345345
2019-07-22 10:00:18 +08:00
学习了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/584747

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX