gpt4 book ai didi

java - 反射和运行时类获取方法

转载 作者:行者123 更新时间:2023-12-02 12:00:04 25 4
gpt4 key购买 nike

实际上,在我的所有类(class)中,我总是有属性名称

类 clazz,对象 obj

当我们知道对象类型时,我们可以做类似的事情(如果 id 是一个属性......)

Integer id = ((BaseObj) field.get(obj)).getId();

实际上

field.get(obj))

返回一个对象,我搜索以获取该对象的 name 属性的值。

我搜索做类似的事情

String name = ((clazz.getClass()) field.get(obj)).getName();

最佳答案

您无法转换为仅在运行时已知的类。要么让所有这些类实现带有 getName() 方法的接口(interface),否则您将不得不求助于反射:

String name = (String) clazz.getMethod("getName").invoke(obj);

关于java - 反射和运行时类获取方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47333760/

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