gpt4 book ai didi

java - 使用反射调用 Integer.parseInt 方法

转载 作者:行者123 更新时间:2023-12-01 23:12:22 26 4
gpt4 key购买 nike

如何对某个变量调用 parseInt 函数?我想做类似的事情parseInt.invoke("23");

注意:我有一个存储 parseInt 的方法数组

Method[] methods contains the parseInt method

所以...就像 方法[0].invoke("23");

但是当我这样做时我得到了

java.lang.IllegalArgumentException: wrong number of arguments
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at myproject.MyProject.main(MyProject.java:114)

最佳答案

Method#invoke(Object, Object...)将第一个参数作为调用此方法的对象,从第二个参数开始,它采用该方法的参数。第一个参数必须是实例方法的引用,并且对于静态方法来说只需null。自 Integer#parseInt(String)是一个静态方法。 invoke 方法的第一个参数必须为 null:

methods[0].invoke(null, "23"); 

关于java - 使用反射调用 Integer.parseInt 方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21677781/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com