gpt4 book ai didi

java - 获取类的字段

转载 作者:行者123 更新时间:2023-11-29 06:01:32 25 4
gpt4 key购买 nike

Field[] fields = <class name>.getClass().getDecdlaredFields();
for(Field field: fields) {
String fieldName = field.getName();
log.info(" Fieldname : "+ fieldName);
}

这是给我构造函数的名称,其中包含这样的随机字符:

CGLIB$getPTI$25
CGLIB$setPTI$26

这里的类其实就是一个hibernate映射类。它映射来自数据库的数据。

最佳答案

它们不是随机字符。它们是由相关类声明的字段,大概是自动生成的。在机器生成的代码中使用 $ 是很常见的(甚至受到 JLS 的鼓励)。

请注意 CGLIB是一个代码生成库,大概就是在这里创建类的原因。

现在,如果您认为您正在查看一个您的 类,那么您不是 - 您正在查看由 Hibernate 动态创建的子类。打印出 foo.getClass().getName() 来查看。如果您试图找到在您的 类中声明的字段,您将需要沿着继承层次结构向上走,直到到达您的类。 (查看生成的类是什么样的,了解如何检测何时到达真实类。)

关于java - 获取类的字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9937604/

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