gpt4 book ai didi

java - 方法调用的返回类型是什么?

转载 作者:行者123 更新时间:2023-11-30 04:36:39 24 4
gpt4 key购买 nike

我正在使用 Java 中的代理模式 (InitationHandler),在代理类(实现 InitationHandler)中实现远程对象的锁管理器。我正在调用远程对象(此处:flighRMConnection):

if (method.getName().toLowerCase().contains("query")){
lm.Lock(Thread.currentThread(), READ);
} else {
lm.Lock(Thread.currentThread(), WRITE)
}
method.invoke(flightRMConnection, args);

如何检查调用返回的值?(可能有不同类型的结果)

谢谢,阿里安

最佳答案

嗯,invoke 的静态返回类型自然是对象。如果您想确定调用返回的实例的动态类型,可以调用 getClass()就可以得到Class代表其类型的对象。

如果您需要检查其内容,您可以使用 Class 进行进一步的反射(请参阅 getDeclaredFields() 等)。如果对象可能扩展已知的类或接口(interface),您还可以使用 instanceof 检查它,然后进行强制转换。

哦,在调用任何内容之前,请不要忘记确保返回的对象不为 null

关于java - 方法调用的返回类型是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13337128/

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