gpt4 book ai didi

java - 动态调用接口(interface)方法

转载 作者:太空宇宙 更新时间:2023-11-04 14:27:07 24 4
gpt4 key购买 nike

我是 JAVA 编程的新手,我正在尝试编写简单的 MXBean servlet。我想从 RuntimeMXBean 转储一些数据。

如您所知,此接口(interface)有几种方法,例如:- 获取虚拟机名称- 获取VmVendor还有更多..

我想创建一些具有几个方法名称的数组,然后使用 foreach 逐一调用并打印其值。

不幸的是,它对我不起作用。我尝试了 obj.invoke、getmethod 但什么也没有 - 看起来它不像常规类或其他东西那样工作(抱歉,我是菜鸟)

一些代码:

RuntimeMXBean rmx = ManagementFactory.getRuntimeMXBean();

如果我使用 rmx.getVmVendor() 一切都很好,但我不知道如何使用(也许是其他东西?)调用此对象上带有字符串名称的方法(需要循环)我正在使用最新的 netbeans 和 glassfish。

谢谢。

最佳答案

您可以使用反射 API:

try {
Method method = rmx.getClass().getDeclaredMethod("aMethodName");
Object result = method.invoke(rmx);
} catch (NoSuchMethodException | SecurityException | IllegalAccessException | IllegalArgumentException | InvocationTargetException ex) {
System.out.println(ex);
}

关于java - 动态调用接口(interface)方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26551671/

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