【问题标题】:Get return value from classloader从类加载器获取返回值
【发布时间】:2021-12-23 20:25:59
【问题描述】:

我想知道如何从类加载器中获取这个布尔返回值(真/假)?

public static boolean isInitialized() {
    return UnityServices.isInitialized();
}

以下是我的代码:

ClassLoader cl = new URLClassLoader(urlsArr);
Class loadedMyClass = cl.loadClass(className);
Constructor constructor = loadedMyClass.getConstructor();
Object myClassObject = constructor.newInstance();

// Getting the target method from the loaded class and invoke it using its name
Method method = loadedMyClass.getMethod(methodNAme);
method.invoke(myClassObject);
Log.d("Invoked", method.getName());

return //get the value;

【问题讨论】:

  • 你的返回值到底是什么意思?您通过反射调用的方法的返回值? invoke(...) 方法返回它,但你忽略了它。将method.invoke(...) 的返回值赋给一个变量并返回。
  • 我的意思是返回值是 UnityServices.isInitialized();
  • 这与您问题中的第二段代码有什么关系?您是通过反射调用该方法吗?

标签: java return-value classloader


【解决方案1】:

invoke方法返回的值,你可以这样做

return (Boolean) method.invoke(myClassObject);

【讨论】:

    猜你喜欢
    • 2014-03-10
    • 1970-01-01
    • 1970-01-01
    • 2014-01-07
    • 2013-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多