V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
xffighting
V2EX  ›  Java

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

  •  
  •   xffighting · 2019-07-20 20:53:55 +08:00 · 3437 次点击
    这是一个创建于 1735 天前的主题,其中的信息可能已经有所发展或是发生改变。
    Method setMethod = request.getClass().getMethod(methodName, paramType);
                   
    setMethod.invoke(request, null);
    -------------------------------------------------------------------------------------------------------
    
    void setName(String name){
     this.name = name;
     }
    
    

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

    3 条回复    2019-07-22 10:00:18 +08:00
    liaojl
        1
    liaojl  
       2019-07-20 21:54:26 +08:00   ❤️ 1
    将 null 显示强转为 String 就可以了
    ``` java
    setMethod.invoke(request, (String)null);
    ```
    invoke 方法的第二个参数是可变长的(实际上是一个数组),你直接给一个 null 的话,jvm 会视为你没给参数。
    xffighting
        2
    xffighting  
    OP
       2019-07-22 09:19:26 +08:00
    @liaojl 可以了 感谢!! 太棒了!
    guo8345345
        3
    guo8345345  
       2019-07-22 10:00:18 +08:00
    学习了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2733 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 12:56 · PVG 20:56 · LAX 05:56 · JFK 08:56
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.