`

利用java 中的反射将Pojo 对象转换为HashMap

    博客分类:
  • Java
阅读更多

// POJO
package com.test;
public class Person {
 
    private Integer id;
    private String lastName;
    private String firstName;

    public String getFirstName()
    {
        return firstName;
    }

    public void setFirstName(String firstName) {
        this.firstName = firstName;
    }

    public String getLastName() {
        return lastName;
    }

    public void setLastName(String lastName) {
        this.lastName = lastName;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }
}

//测试类

package com.test;

import java.lang.reflect.Method;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;

public class Test {

 /**
  * @将POJO对象转成Map
  */

 public static Map testReflect(Object obj) {
  Map hashMap = new HashMap();
  try {
   Class c = obj.getClass();
   Method m[] = c.getDeclaredMethods();
   for (int i = 0; i < m.length; i++) {
    if (m[i].getName().indexOf("get")==0) {
      //System.out.println("方法名:"+m[i].getName());
     // System.out.println("值:"+ m[i].invoke(obj, new Object[0]));
     hashMap.put(m[i].getName(), m[i].invoke(obj, new Object[0]));
    }
   }
  } catch (Throwable e) {
   System.err.println(e);
  }
  return hashMap;
 }

 public static void main(String[] args) {

  Person p = new Person();
  p.setFirstName("张");
  p.setId(119);
  p.setLastName("三");
  Map personMap = Test.testReflect(p);
  Iterator it = personMap.entrySet().iterator();
  while (it.hasNext()) {
   Map.Entry map = (Map.Entry) it.next();
   System.out.println("方法名:" + map.getKey() + "  ,值: "+ map.getValue());
  }

 }

}


//测试结果
方法名:getLastName  ,值: 三
方法名:getId  ,值: 119
方法名:getFirstName  ,值: 张

分享到:
评论

相关推荐

    java Pojo转Map

    本文将详细介绍如何实现Java中的Pojo到Map的转换,并通过具体的示例来演示这一过程。 首先,我们需要一个Pojo类,例如: ```java public class User { private String name; private int age; // getters and ...

    java反射封装结果集内容到pojo

    当我们从数据库读出数据得到ResultSet或RowSet的时候,我们的做法是遍历结果集,然后封装到pojo里面,再封装到List,那么,每次封装是不是很麻烦呢,前段时间小弟看了下反射的东西,试着写了个类,目的在于方便封装...

    用pojo对象作birt的数据源

    本话题将详细讲解如何利用Java中的POJO(Plain Old Java Object)对象作为BIRT报告的数据源,从而实现更加灵活且高效的数据绑定。 首先,理解POJO的概念至关重要。POJO是一种简单的Java类,它不包含任何特殊的框架...

    java实现对象转化为get请求的param参数String字符串

    java实现对象转化为get请求的param参数String字符串,本人自测非常好用,一般对象可以转化键值对的格式,但是最近项目需要自己手动拼接对象作为get请求的参数,百度了一堆还不如自己写一个,欢迎各位使用,有什么...

    利用反射技术实现POJO值拷贝

    本篇文章将探讨如何利用反射技术实现POJO(Plain Old Java Object)值的拷贝,这对于数据传输、对象复制等场景非常有用。 POJO是一个简单的Java对象,没有特定的框架限制,通常包含一组属性和对应的getter/setter...

    Java反射 JavaBean对象自动生成插入,更新,删除,查询sql语句操作.docx

    Java反射JavaBean对象自动生成插入、更新、删除、查询sql语句操作是指通过Java反射机制,依据提供的表名、POJO类型、数据对象自动生成sql语句的技术。这种技术具有很好的参考价值,对开发者有很大的帮助。 Java...

    Feign发送Get请求时,采用POJO对象传递参数的最终解决方案.docx

    具体来说,当请求体中包含数据时,`HttpURLConnection`会自动将GET请求转换为POST请求。这一行为在Feign的源码中也有体现: ```java private synchronized OutputStream getOutputStream0() throws IOException { ...

    POJO转Map.txt

    POJO转Map的基本思路是利用反射机制获取POJO的所有属性,并将其存储到Map中。具体步骤如下: 1. **判断对象是否为空**:首先检查传入的对象是否为空,如果为空则直接返回null。 2. **创建Map实例**:使用`new ...

    Java的几种对象(PO-VO-DAO-BO-POJO)解释

    - **用途**:当需要将数据库中的数据转换为Java对象以便于处理时,就会使用到PO。 - **特点**: - 与数据库表结构相对应; - 不包含任何业务逻辑或数据操作行为。 #### 二、VO:Value Object(值对象) 值对象...

    Java微信平台所有的POJO对象和常量

    微信平台中所有的接受信息,发送信息,按钮菜单等POJO对象,还有用到的常量。 下面是个抽象出来的Message父类,下面还有ImageRequestMessage等子类 @XmlRootElement(name = "xml") @XmlAccessorType(XmlAccessType....

    oracle 数据表转成java pojo

    连oracle 数据库,将指定表转为java pojo 类 的 java demo

    JDK1.8中文API+Json对象直转pojo类实例.rar

    在Java中,有时我们需要处理未知结构的JSON数据,这时可以利用反射和Gson配合来实现。首先,你需要创建一个基类,然后使用反射来动态创建子类实例。之后,利用Gson的`fromJson()`方法将JSON字符串转换为这个基类的...

    利用jackson包进行json字符串与pojo类之间的转换源代码

    本篇将详细介绍如何利用Jackson包进行JSON字符串与POJO(Plain Old Java Object)类之间的转换,并探讨相关源码。 Jackson库主要包括三个核心模块:`jackson-core`、`jackson-annotations`和`jackson-databind`。在...

    数据表生成pojo

    - POJO是Java中一个普通的类,没有继承任何特定的框架接口或实现任何特定的规范。它只是一个包含属性(字段)和方法(包括getter和setter)的对象,用于封装业务数据。 - 在数据库操作中,POJO类通常代表数据库中...

    一个利用反射,把一个pojo付个另一个pojo的例子

    根据属性名相同, 把一个pojo的属性值付给另一个pojo相同属性名.

    JDBCTemplate+JavaPOJO实现通用DAO

    在这个"JDBCTemplate+JavaPOJO实现通用DAO"的项目中,我们将探讨如何利用这两者构建一个通用的DAO层。 首先,Java POJO(Plain Old Java Object)是指那些没有特殊约束的简单Java对象,通常用于表示数据库中的实体...

    JSON与java对象转换的工具包

    此工具包提供了方便快捷的方法,可以将JSON字符串直接转换为Java的各种数据结构,如实体Bean(POJO对象)、Map、Collection以及Object数组。这大大简化了开发过程,避免了手动解析和构建JSON字符串的繁琐工作。 1. ...

    JSON 转化为java对象

    对于后端开发者而言,能够高效、便捷地将 JSON 数据转换为 Java 对象是一项必备技能。这不仅提高了开发效率,也增强了代码的可读性和维护性。 #### 二、理论基础:JSON 与 Java 对象的关系 **1. JSON简介** JSON ...

    java的几种对象(PO_VO_DAO_BO_POJO)解释

    在实体框架或ORM(对象关系映射)工具中,PO对象作为桥梁,将Java对象与数据库记录相互转换,使得开发者能够以面向对象的方式操作数据库数据。 ### 值对象(VO) 值对象(VO)是一种无状态的对象,它代表了一组值...

    pojoghost:基于反射的 POJO 转换器

    【描述】: "POJO转换器是一个高度可定制的概念证明,利用反射技术来实现" 反射是Java编程语言中的一个强大特性,允许程序在运行时检查和修改其自身的行为。在这个项目中,POJO转换器通过反射机制,可以动态地获取类...

Global site tag (gtag.js) - Google Analytics