`
JavaSam
  • 浏览: 954961 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

java 通过反射完成list到beanlist再把ben转换成map的过程

    博客分类:
  • JAVA
 
阅读更多
import java.beans.PropertyDescriptor;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;




public class Bean2MapUtil {

	private Bean2MapUtil(){}
	
	/**
	 * 把list转为beans
	 * @param result
	 * @return
	 */
	private static List<Object> toBeanList(List<List<String>> result,@SuppressWarnings("rawtypes") Class classType){
		List<Object> resulsBeans = new ArrayList<Object>();
		Object obj;
		try {
			Field[] fields = classType.getDeclaredFields();
			int i = 0;
			if(result.size()>=3){
				for(List<String> item:result){
					i++;
					if(i<=2)continue;
					obj = classType.newInstance();
					for (int j = 0; j < fields.length; j++) {
						//减三表示页面有三个隐藏域
						PropertyDescriptor pd = new PropertyDescriptor(fields[j].getName(), classType);
						Method wM = pd.getWriteMethod();//获得写方法
						wM.invoke(obj, item.get(j));//
					}
					resulsBeans.add(obj);
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return resulsBeans;
	}
	/**
	 * 把beanlist转化为MapList
	 * @return
	 */
	@SuppressWarnings("rawtypes")
	public static List<Map> beans2Maps(String filePath,Class classType){
		List<Map> ret = new ArrayList<Map>();
		ReadExcel03 e03 = new ReadExcel03();//读取excel
		ReadExcel07 e07 = new ReadExcel07();
		ReadExcelAdapter adapter = new ReadExcelAdapter(filePath, e03, e07);
		List<List<String>> result = adapter.readExcel();
		List<Object> resulsBeans = toBeanList(result,classType);
		try {
			for(int i= 0;i < resulsBeans.size();i++){
				Field[] fields = classType.getDeclaredFields();
				Map<String, Object> tempMap = new HashMap<String,Object>();
				for (int j = 0; j < fields.length; j++) {
					//减三表示页面有三个隐藏域
					PropertyDescriptor pd = new PropertyDescriptor(fields[j].getName(), classType);
					Method wM = pd.getReadMethod();//获得写方法
					tempMap.put(fields[j].getName(), wM.invoke(resulsBeans.get(i)));
				}
				ret.add(tempMap);
			}
		} catch (Exception e) {
			e.printStackTrace();
		}
		return ret;
	}
}

 

0
2
分享到:
评论

相关推荐

    List转换为List

    在Java中,List转换为List实际上是一个更广泛的转换过程的一部分,即对象间的转换。这个过程可以被视为List&lt;Bean&gt;转换为List&lt;Map&gt;的一个特例。在某些情况下,我们可能需要将List中的对象转换为另一种类型的对象,但...

    在Java 8中将List转换为Map对象方法

    在Java 8中将List转换为Map对象方法 在Java 8中,将List转换为Map对象是一种非常实用的技术,特别是在处理大规模数据时非常有用。本文将详细介绍在Java 8中将List转换为Map对象的方法,并提供了多种实现方式。 ...

    java利用反射,将Object和Map进行互相转换,list和map互相转换

    java利用反射,将Object和Map进行互相转换,list和map互相转换 java Map和Object转换,list和map转换

    map 和 bean 之间的转换

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

    java转换xml、list、map和json

    "java转换xml、list、map和json" 本文主要讲述了Java中将xml、list、map和json之间的转换的相关知识点。 xml和map之间的转换 在Java中,xml和map之间的转换可以通过使用dom4j库来实现。dom4j是一个Java开源库,...

    java反射,获取所有属性、方法以及List集合类

    Java反射是Java编程语言中的一个强大工具,它允许运行中的Java程序对自身进行检查并且可以直接操作程序的内部属性。在Java中,反射主要用于在运行时分析类和对象,包括访问私有成员、调用私有方法、创建对象、获取类...

    map/list集合转化成xml字符串 xml字符串转化成map/list集合

    在Java编程中,数据结构与XML(eXtensible Markup ...通过实践这些示例,你可以更好地理解并掌握Map和List与XML之间的转换技巧。在进行这样的转换时,确保处理好异常、空值和特殊字符,以确保数据的完整性和安全性。

    将list转换成JavaBean

    将list&lt;Map&gt;转换成JavaBean的工具类

    json字符串转成 Map/List

    在Java中,将JSON字符串转换为Map或List是常见的操作,这在处理服务器返回的数据或者进行数据序列化时非常有用。 JSON字符串的结构主要包括对象(键值对的集合,用花括号{}包围)和数组(有序元素的集合,用方括号...

    java将xml串转换成Map类型

    将xml串转换成Map类型,如果有重复节点,自动转换为list类型存储,所以最终转换并非绝对Map

    基于java8新特性+反射机制实现list不同实体类互转.zip

    这个压缩包文件“基于java8新特性+反射机制实现list不同实体类互转.zip”提供了一种解决方案,它利用了Java 8的新特性和反射机制来实现这种转换,并将这个功能封装为一个工具类。 首先,Java 8引入了许多新特性,...

    List<Map>转化为List工具类

    一般使用springjdbc、hibernate的sql查询,库获取到的数据都是List&lt;Map, Object&gt;&gt;结果集,如果我们要转化为JavaBean,则需要做一系列的map.get(),然后obj.set()。 此工程中就是解决List&lt;Map, Object&gt;&gt;转化为...

    ResultSet 转为listmap

    ResultSet 转为 List&lt;Map&gt; ResultSet 转为 List&lt;Map&gt; 是一种常见的数据处理操作。在 Java 中,使用 JDBC 连接数据库时,通常会返回一个 ResultSet 对象,该对象包含了查询结果集的所有记录。为了方便数据处理和使用...

    Java xml转化为map

    要实现XML到Map的转换,我们可以使用Java的标准库JAXB(Java Architecture for XML Binding)或者第三方库如DOM4J、JDOM、Apache Commons Digester等。这里我们主要讨论使用JAXB的方法,因为它是Java平台的一部分,...

    java list 日期时间格式转换

    java list&lt;bean&gt; date.class如果日期类型就改成这个 日期时间格式转换

    Java读取json文件,并转化为map取值

    现在,你可以通过调用这个方法来读取JSON文件并将其内容转化为Map: ```java public static void main(String[] args) { try { String jsonFilePath = "path/to/your/json/file.json"; Map, Object&gt; jsonData = ...

    Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并

    Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并 Java中 List《map》把里面map中某个key相同记录的其他key 的 value 合并

    易语言仿java集合 list map源码

    本主题聚焦于易语言中的面向对象编程,特别是模仿Java集合框架的List和Map接口的实现。这些数据结构在编程中扮演着核心角色,用于组织和管理数据。 首先,让我们深入了解易语言的面向对象编程概念。面向对象编程...

    Java中Json字符串直接转换为对象的方法(包括多层List集合)

    本文将详细介绍如何将JSON字符串直接转换为Java对象,特别是涉及到多层List集合的情况。在本例中,我们将使用`net.sf.json.JSONObject`类来实现这一功能。 首先,确保你的项目中已经引入了必要的库。在使用`...

    Map拆分List拆分

    Map拆分与List拆分涉及到数据的分布式处理,这通常在Hadoop、Spark等大数据处理框架中常见。下面我们将详细探讨这两个概念及其在实际应用中的重要性。 首先,Map是一种键值对存储的数据结构,其中每个键(Key)都是...

Global site tag (gtag.js) - Google Analytics