gpt4 book ai didi

Java使用固定参数调用自己的私有(private)方法

转载 作者:行者123 更新时间:2023-11-29 07:19:16 25 4
gpt4 key购买 nike

以前,我有一个包含许多 if-else 语句的 Swing 类。在使用 java 反射删除所有 if-else 后,我可以成功调用它自己的方法。但是,我仍然无法将参数传递给该方法。如何使下面的代码与传递的 ActionEvent 参数一起工作?

public void actionPerformed(ActionEvent e) {
try {
//Method method = this.getClass().getDeclaredMethod(e.getActionCommand());
Method method = this.getClass().getMethod(e.getActionCommand() );
method.invoke(this);
} catch (IllegalArgumentException e1) {
e1.printStackTrace();
} catch (IllegalAccessException e1) {
e1.printStackTrace();
} catch (InvocationTargetException e1) {
e1.printStackTrace();
} catch (SecurityException e1) {
e1.printStackTrace();
} catch (NoSuchMethodException e1) {
e1.printStackTrace();
}
}
public void generate(ActionEvent e){
System.out.println("Generating");
}

最佳答案

只需将参数作为附加参数传递给 Method.invoke() :

method.invoke(this, e);

关于Java使用固定参数调用自己的私有(private)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6704190/

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