`

利用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请求的参数,百度了一堆还不如自己写一个,欢迎各位使用,有什么...

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

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

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

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

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

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

    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

    JDBCTemplate+JavaPOJO实现通用DAO

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

    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相同属性名.

    JSON与java对象转换的工具包

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

    Java bean转换为Json Schema

    在Java中,将Bean转换为Json Schema可以帮助我们在服务器端验证客户端发送的数据是否符合预设的模式,避免因数据格式错误导致的问题。这种转换通常通过一些库或工具来实现,例如`json-schema-generator`或`org.json...

    JSON 转化为java对象

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

    java的几种对象(PO_VO_DAO_BO_POJO)解释

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

Global site tag (gtag.js) - Google Analytics