`

Bean to Map and Map to Bean

 
阅读更多
import java.beans.BeanInfo;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.lang.reflect.Field;
import java.util.HashMap;
import java.util.Map;
 
 
public class MapUtils {
 
	public static Map<String, Object> Bean2Map(Object obj) throws Exception {
		if(obj == null){
			return null;
		}
		Map<String, Object> map = new HashMap<String, Object>();
		Class<?> cls = obj.getClass();
		Field[] beanFields = cls.getDeclaredFields();
		for (Field f : beanFields) {
			String filedName = f.getName();
			PropertyDescriptor propertyDescriptor = new PropertyDescriptor(filedName, cls);
			Object result = propertyDescriptor.getReadMethod().invoke(obj);
			 
			map.put(filedName, result);
		 
		}
		return map;
	}
	 
	@SuppressWarnings("unchecked")
	public static <T> T MapToBean(Map<?, ?> map, Class<T> type) throws Exception {
		BeanInfo beanInfo = Introspector.getBeanInfo(type);
		Object obj = type.newInstance();
		PropertyDescriptor[] propertyDescriptors = beanInfo.getPropertyDescriptors();
		for (int i = 0; i < propertyDescriptors.length; i++) {
			PropertyDescriptor descriptor = propertyDescriptors[i];
			String propertyName = descriptor.getName();
			if (map.containsKey(propertyName)) {
				Object value = map.get(propertyName);
				Object[] args = new Object[1];
				args[0] = value;
				descriptor.getWriteMethod().invoke(obj, value);
			}
		}
		return (T) obj;
	}
	public static Map<String, Object> FieldsToMap( Class<?> type) throws Exception{
		if(type == null){
			return null;
		}
		Map<String, Object> map = new HashMap<String, Object>();
		Object obj = type.newInstance();
		Field[] beanFields = type.getDeclaredFields();
		for (Field f : beanFields) {
			String filedName = f.getName();
			PropertyDescriptor propertyDescriptor = new PropertyDescriptor(filedName, type);
			Object result = propertyDescriptor.getReadMethod().invoke(obj);
			 
			map.put(filedName, result);
		 
		}
		return map;
	}
}

  

 

 

分享到:
评论

相关推荐

    bean和map之间转换的帮助类

    主要实现bean和map之间的相互转换,主要提供两个方法beanToMap将bean转换成Map 和mapToBean 将Map转换成bean 每次下载都没有积分,不差积分的大神赞助点呗 写了这一小段代码,供新手学习,大神就别拍砖了 身板弱扛...

    java Map转Bean Bean转Map Map排序

    java Map转Bean Bean转Map Map排序

    java bean和map之间的互转

    public static Map, Object&gt; beanToMap(Object bean) throws Exception { Map, Object&gt; map = new HashMap(); Class&lt;?&gt; clazz = bean.getClass(); for (Method method : clazz.getMethods()) { if (method....

    map 和 bean 之间的转换

    map 和 bean 之间的转换,可以利用反射的原理实现

    Java_Bean2Map

    Java_Bean2Map,将实体类转化成对应的map的工具类

    Bean与Map转换工具类BeanMapConverter.java

    Bean与MAP间互转换的工具类。 1.将一个 Map 对象转化为一个 JavaBean,可指定BEAN的类型; 2.将一个 JavaBean 对象转化为一个 HashMap;

    List转换为List

    本知识点重点讲解将List&lt;Bean&gt;转换为List&lt;Map&gt;的过程,这在进行Web开发、数据处理以及与前端交互等场景中非常常见。同时,也会涉及List转换为List及list转换为JsonArray的内容。 ### List&lt;Bean&gt;转换为List&lt;Map&gt; 在...

    通过java反射实现map与bean之间互转

    public static Map, Object&gt; beanToMap(Object obj) throws Exception { if (obj == null) { return null; } Map, Object&gt; map = new HashMap(); Class&lt;?&gt; clazz = obj.getClass(); Field[] fields = clazz....

    各种转换,xml,实体bean,动态bean,map等

    标题和描述中提到的"各种转换,xml,实体bean,动态bean,map等"涉及了Java编程语言中的一些核心概念,这些概念在企业级应用开发中非常常见。下面我们将详细探讨这些知识点。 1. **XML(Extensible Markup Language)*...

    Java Bean与Map互转源代码

    通用的Java Bean与Map互转的源代码,方便实用。

    Java Bean对象和Map相互转换.zip

    BeanMap beanMap = new BeanMap(myBean); System.out.println(beanMap); } } ``` `BeanMap`构造器接受一个Java Bean实例,并创建一个映射,其中键是Bean的属性名,值是属性值。 4. **BeanMap进行Map到Java ...

    map与Javabean相互转换实例

    public static Map, Object&gt; beanToMap(Object bean) throws IllegalAccessException { Map, Object&gt; map = new HashMap(); Class&lt;?&gt; clazz = bean.getClass(); for (Field field : clazz.getDeclaredFields()) {...

    Map和Bean灵活转换工具类

    Map和Bean之间的转换就是这类场景的一个典型例子。`MapUtils`和`BeanUtils`这样的工具类能够帮助我们高效且灵活地进行这种转换。本文将详细探讨这两个工具类的功能以及它们在实际开发中的应用。 `MapUtils`类通常...

    java Map转换成bean,利用java反射以及java和bean包

    在这个示例中,`mapToBean`方法接受一个Map和目标Bean的Class对象,首先检查参数是否有效,然后创建一个新的Bean实例,遍历Map中的每一个键值对,通过反射找到Bean中对应的Field,设置其可访问,最后调用`set()`方法...

    java bean代码生成器

    可生成java 部分原码 带入注释 如 bean ro bean bean to map sql 资源付值

    java代码-使用java解决bean&map工具类的源代码

    java代码-使用java解决bean&map工具类的源代码 ——学习参考资料:仅用于个人学习使用!

    Spring —Mybaits 自动生成dao、bean、map框架使用说明

    1.lib必须按照项目中的classpath中的顺序 不然 系统找不到类 2.框架能够自动生成类和dao层 3.框架集成了Spring 能够自动将bean、dao、service装载到SPring容器中,供调用

    Java基础将Bean属性值放入Map中的实例

    public static Map,Object&gt; beanToMap(Object bean){ Map,Object&gt; result = new HashMap,Object&gt;(); if(bean==null){ return result; } Field[] fields = bean.getClass().getDeclaredFields(); if(fields=...

    MapStruct-简化不同类型bean之间映射的代码生成器

    MapStruct是一款强大的Java库,专为简化对象到对象映射(O-O Mapping)而设计,尤其是在处理不同类型的Bean之间转换时。它通过自动生成映射代码,极大地减少了手动编写转换逻辑的工作量,使得代码更加简洁、可维护。...

    json与bean,array,list,map,简单类型之间的封装、解析

    本主题主要探讨的是如何使用Gson库处理JSON数据与Java中的Bean、Array、List、Map以及简单类型的相互转换。 首先,我们来看JSON与Java Bean之间的转换。Java Bean是一种具有特定属性和方法的对象,它们通常用来封装...

Global site tag (gtag.js) - Google Analytics