获取类实例变量并使用反射打印它们的值

2024-01-15

我有 2 个带有 getter 和 setter 的 POJO 类,现在我试图获取该类的所有类实例变量。

我知道我们可以使用反射怎么办呢?

这是我的 POJO 类,它将扩展我的反射类。

class Details{

private int age;
private String name;

}

反射类是这样的:

class Reflection{

public String toString(){

return all the fields of that class
}

你可以这样做:

public void printFields(Object obj) throws Exception {
    Class<?> objClass = obj.getClass();

    Field[] fields = objClass.getFields();
    for(Field field : fields) {
        String name = field.getName();
        Object value = field.get(obj);

        System.out.println(name + ": " + value.toString());
    }
}

这只会打印公共字段,要打印私有字段,请递归使用 class.getDeclaredFields 。

或者如果你想延长课程:

public String toString() {
    try {
        StringBuffer sb = new StringBuffer();
        Class<?> objClass = this.getClass();

        Field[] fields = objClass.getFields();
        for(Field field : fields) {
            String name = field.getName();
            Object value = field.get(this);

            sb.append(name + ": " + value.toString() + "\n");
        }

        return sb.toString();
    } catch(Exception e) {
        e.printStackTrace();
        return null;
    }
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

获取类实例变量并使用反射打印它们的值 的相关文章

  • Java无法读取字体

    好的 我在使用自定义字体时遇到问题 基本上我得到了从互联网上下载的自定义字体并在我的程序中使用它 当我在 Eclipse 我使用的编辑器 中运行该程序时 一切正常 没有问题 但是 每当我将它从 eclipse 导出到 jar 时 或者尝试从
  • 使用 org.eclipse.xsd 和 Maven2 分析 XML 模式

    我正在尝试实现示例代码本文 http help eclipse org help32 index jsp topic org eclipse xsd doc references articles dwtip1 scpw index htm
  • HQL - 分页的行标识符

    有谁知道HQL是否有一个关键字来标识行 例如ROWID或ROWNUM 我想使用 HQL 实现分页 但我无法使用 setMaxResult 或 setFirstResult 因为我不直接使用会话对象 因此不使用 Query 对象 而只是将查询
  • 在java中将HTML转换为RTF?

    我需要将 HTML 转换为 RTF 我正在使用以下代码 private static String convertToRTF String htmlStr OutputStream os new ByteArrayOutputStream
  • Java写入ByteArrayOutputStream内存泄漏

    我正在将图像字节写入ByteArrayOutputStream然后通过套接字发送它 问题是 当我这样做时 ImageIO write image gif byteArray 内存增加很多 有点内存泄漏 我用这个发送 ImageIO writ
  • double 或 BigDecimal 会溢出吗?

    Java 8 给了我们Math addExact https docs oracle com javase 8 docs api java lang Math html addExact int int 适用于整数 但不适用于小数 是否有可
  • java应用程序,线程在终止MySQL连接后挂起

    我有一些工作线程正在运行 其中包括 MySQL 和 mysql connector java 5 1 20 当我杀死一些 SQL 语句 使用 mysql 客户端的kill 连接id 时 java线程挂起 这应该抛出一些异常 jstack 打
  • Selenium 和 xpath:查找带有类/id 的 div 并验证其中的文本

    我正在努力拥有xpath find a div并验证div有一个特定的string里面的文字 这是HTML div class Caption Model saved div and div class gwt HTML sfnStanda
  • Java 多态性中的字段如何工作? [复制]

    这个问题在这里已经有答案了 我正在读书面试问题 http javabypatel blogspot in 2016 04 java interview questions html关于java 发现了很好的例子 但感到困惑 因为没有很好 更
  • Finalize() 何时执行? [复制]

    这个问题在这里已经有答案了 在一次采访中我被问到 假设 JVM 在 A 类对象未被使用时运行 gc class A some code here protected void finalize code here 它是否保证finalize
  • StringBuilder - 重置或创建新的

    我有一个条件 StringBuilder 不断存储与大型平面文件 数百 MB 中的模式匹配的行 但是 在达到条件后 我将 StringBuilder 变量的内容写入文本文件 现在我想知道是否应该通过重置对象来使用相同的变量 gt strin
  • 如何更新 Websphere 7 以使用 EL2.2?

    这就是我所做的 按照此林肯 巴克斯特的帖子 http ocpsoft com java jsf2 java jsf2 how to add the magic of el el2 to jsf 我下载了 el api 2 2 jar 和 e
  • Selenium - WebDriver.findElement() 和 WebElement.findElement() 之间的区别

    我正在使用WebElement findElement By cssSelector click 在页面上查找某个元素 但它返回了 Unable to locate element 但是当我使用WebDriver findElement B
  • Java - 动态创建子类

    我想以编程方式创建一个子类 我想我的选择很少 Javassist CGLib BCEL 或 ASM 用例是一个应用程序的内部是面向类的 而扩展是基于类的 因此 我不能将单个类作为由外部化脚本驱动的多个扩展的基础 现在 我该怎么做呢 我找到了
  • 使用 ProGuard 混淆代码后如何保持 javadoc 可见?

    我使用 progured 4 7 混淆了我的代码 并保留了 A 类 其中包含描述该类功能的 javadoc keep public class com mysite ClassA public keepattributes InnerCla
  • Scala 不可变 Map 速度慢

    当我创建地图时 我有一段代码 val map gtfLineArr 8 split map split collect case Array k v gt k v toMap 然后我使用这张地图来创建我的对象 case class MyOb
  • 使用反射检测属性的访问修饰符类型

    我编写了一些代码来使用反射查看属性 我已经使用反射从类中检索了属性列表 但是我需要查明该财产是公共的还是受保护的 例如 public string Name get set protected int Age get set Propert
  • 解决SecurityException:权限拒绝:启动意图。我需要什么许可?

    我想从应用程序打开游戏商店 在三星手机上还好 但在一加手机上却失败了 我不知道在哪里alibaba来自 真奇怪 异常 java lang SecurityException 权限拒绝 启动意图 act android intent acti
  • Java:当计时器处于活动状态时,JSplitPane 将顶部面板的内容复制到底部面板

    所以我有一个 JSplitPane 和两个 JPanel 一个在顶部 一个在底部 在这两个面板中 我重写了paintComponent方法并添加了我自己的图形 在底部面板中 我想添加动画 当面板不重新绘制时 这很好 但是一旦计时器 java
  • Java中ThreadFactory的使用

    有人可以简要解释一下如何以及何时使用 ThreadFactory 吗 使用和不使用 ThreadFactory 的示例可能确实有助于理解差异 Thanks 这是一种可能的用法 假设您有一个ExecutorService它执行你的Runnab

随机推荐

  • psutil 已满足要求

    我正在尝试使用命令 pip install psutil 安装 lib psutil 当我运行这段代码时 我得到了这个 Requirement already satisfied psutil in opt conda lib python
  • Heroku 将数据库从一个应用程序传输到另一个应用程序

    我需要将数据库从 app 1 传输到 app 2 我在 app 1 上创建了备份 然后跑 heroku pg 备份恢复 HEROKU POSTGRESQL COLOR app app 2heroku pgbackups url app ap
  • Django 收到意外的关键字参数“id”

    我正在尝试在 Django 中创建电话簿 我的网址 py urlpatterns url r views people list name people list url r P
  • std::string_view 到底比 const std::string& 快多少?

    std string view http en cppreference com w cpp string basic string view已经发展到 C 17 并被广泛推荐使用它来代替const std string 原因之一是性能 有
  • 快速标签仅留下边框

    一起早上好 i have a tableview like this 例子 在第一单元格中 我的右侧有一个红色文本标签 从它的左边我包括一个像灰线一样的图像 使用此代码我可以设置完整的绿色边框 cell Label layer border
  • 一起工作时间最长的一对员工——Python/Pandas

    我最近必须编写一个代码 返回在一个共同项目上合作最多的一对员工 这是我想出的代码 注1 Null 被程序读取为 今天 注 2 数据来自以下形式的 txt 文件 EmpID ProjectID DateFrom DateTo 1 101 20
  • 使用 Mongo-Hadoop 连接器通过 Apache Spark 更新 MongoDb 中的集合

    我想通过 Java 中的 Spark 更新 MongoDb 中的特定集合 我正在使用用于 Hadoop 的 MongoDB 连接器 https github com mongodb mongo hadoop检索并保存信息阿帕奇火花 http
  • git rebase 合并冲突

    我分叉了一个 github 存储库并在我的 github 存储库上工作 我已经提出了拉取请求并且已经完成 之后上游又有了一些提交 所以现在我想重新设置基准 我想这就是我必须做的 但我遇到了这些合并冲突 First rewinding hea
  • PostgreSQL 用户列表

    我想获取 psql 中某个数据库的用户列表 例如 template0 用户是谁 或者对于 template1 数据库 那里的用户是谁 已经尝试过 du no database is Listed not Users Select from
  • 不同环境的实体框架数据迁移

    有一些特定于开发 测试 生产环境的基础数据 我们现在在所有环境中使用实体框架迁移 但不知道如何以指定仅在开发 测试 生产上执行的迁移的方式为特定环境指定迁移 这可以在 Fluent Migrator 中使用标签属性来完成 但是实体框架呢 当
  • 如何在 Angular 2 应用程序中添加 reCAPTCHA?

    如何将 reCAPTCHA 集成到 Angular 2 应用程序中 假设您有 reCAPTCHA 给出的站点密钥和客户端密钥 将以下代码放入组件中 ViewChild captchaRef2 captchaRef2 ElementRef p
  • 操作栏中的最后一个选项卡被裁剪,消失在屏幕上

    我正在制作一个使用标签进行导航的 Android 应用程序 我在操作栏中最后一个选项卡的渲染时遇到问题 它会离开屏幕并被裁剪 据我所知 只要选项卡数量太大而无法适应屏幕宽度 就会发生这种情况 我正在使用ActionBar NAVIGATIO
  • 通过可观察限制重播缓冲区

    我有一个包含实时数据的流 以及一个基本上分隔属于一起的实时数据部分的流 现在 当有人订阅实时数据流时 我想向他们重播实时数据 但是 我不想记住所有实时数据 只想记住自上次其他流发出值以来的部分数据 有一个问题 https rx codepl
  • Play Framework 自定义资源:如何复制到目标?

    我有一个 csv 文件 必须在应用程序启动时读取该文件 我如何才能将此文件复制到目标 以 运行 或 启动 它 我正在尝试使用全局级访问此文件Global class getResourceAsStream file csv 但结果始终为空
  • 仅当使用 Web 邮件客户端时,Mailto 链接才会在新选项卡中打开

    我有一个网页 可创建联系人及其电子邮件地址列表 对于 mailto 链接 您有两个选项 1 在当前窗口中打开它或 2 在新选项卡 窗口中打开它 我看到双方都存在潜在的缺点 对于网络邮件客户端 例如 gmail 选项 1 并不理想 因为它会劫
  • 您可以在其中放置图表的 Microsoft Office 剪贴板格式有哪些?

    我正在尝试在内存中创建一个可以提供拖放操作的 DOCX 我首先尝试了 嵌入源 然而 虽然它看起来很完美 OLE 包装器中的 DOCX 但 Word 并不使用它进行拖放 尽管它 确实使用它进行剪切和粘贴 有没有办法强制Word Excel P
  • 使用 Iperf 进行 haproxy 的 udp 流量

    我正在使用 Docker 容器开展我的个人项目 关于 Haproxy 的 性能评估 我正在使用 Python 进行编程 并使用 iperf 来生成流量 我创建了几个 Docker 容器作为客户端和服务器 客户端应该通过充当负载均衡器的 Ha
  • QML 将纹理应用于网格

    我正在尝试将图像纹理应用到 QML Qt 5 6 2 中的网格 我从示例 Shadow Map QML 开始 我想对 GroundPlane 进行纹理处理 材质和效果 qml 类应用于该 GroundPlane 网格 但我看不到如何应用图像
  • 在 LINQ to SQL 中查找或创建对象的通用方法?

    很多时候在我的LINQ 到 SQL http en wikipedia org wiki Language Integrated Query LINQ to SQL 28formerly called DLINQ 29代码中 我需要 查找或
  • 获取类实例变量并使用反射打印它们的值

    我有 2 个带有 getter 和 setter 的 POJO 类 现在我试图获取该类的所有类实例变量 我知道我们可以使用反射怎么办呢 这是我的 POJO 类 它将扩展我的反射类 class Details private int age