List转实体类
来源:互联网 发布:怎么用matlab编程 编辑:程序博客网 时间:2024/06/10 18:38
自己复制试验一下,理解处理过程对你长进促进很大
实例:
import java.lang.reflect.Field;import java.lang.reflect.Method;import java.util.ArrayList;import java.util.List;public class ListToModel { public static void main(String[] args) { List<Object> userList = new ArrayList<Object>(); userList.add("tom"); userList.add("男"); userList.add(18); User user = new User(); try { listToModel(userList, user); } catch (Exception e) { e.printStackTrace(); } System.out.println(user.getName() + "; " + user.getGender() + "; " + user.getAge()); } //把list内容逐个取出来放进User实体类中 public static <T> void listToModel(List<Object> list, T t) throws Exception { Field[] fields = t.getClass().getDeclaredFields(); if (list.size() != fields.length) { return; } for (int k = 0, len = fields.length; k < len; k++) { // 根据属性名称,找寻合适的set方法 String fieldName = fields[k].getName(); String setMethodName = "set" + fieldName.substring(0, 1).toUpperCase() + fieldName.substring(1); Method method = null; Class<?> clazz = t.getClass(); try { method = clazz.getMethod(setMethodName, new Class[] { list.get(k).getClass() }); System.out.println("list.get("+k+").getClass():"+list.get(k).getClass()); } catch (SecurityException e1) { e1.printStackTrace(); return; } catch (NoSuchMethodException e1) { String newMethodName = "set" + fieldName.substring(0, 1).toLowerCase() + fieldName.substring(1); try { method = clazz.getMethod(newMethodName, new Class[] { list.get(k).getClass() }); } catch (SecurityException e) { e.printStackTrace(); return; } catch (NoSuchMethodException e) { e.printStackTrace(); return; } } if (method == null) { return; } method.invoke(t, new Object[] { list.get(k) }); } }}class User{private String name;private String gender;private Integer age;public String getName() {return name;}public void setName(String name) {this.name = name;}public String getGender() {return gender;}public void setGender(String gender) {this.gender = gender;}public Integer getAge() {return age;}public void setAge(Integer age) {this.age = age;}}
实体类userList的元素类型要处理好,其元素都是封装类型的,比如数字类型是Integer,Double,Float等等。与User要对应处理起来更方便,不然报错不断。
阅读全文
0 0
- List转实体类
- 上传List集合 (List<实体类>转json)
- Java实现List<Object>转List<实体类>
- list实体对象转array实体对象
- List转实体(一)
- gridview 绑定list<实体类>
- List<?> 转换为 List<实体类>
- json 实体互转, list json互转 ,List<实体> 转List<Object> , List<Objcet> 转List<Map> map 转实体
- java实现List<Object>转List<实体类>,java实现Object转对象,java实现Object转实体类
- 实体类、实体类List↔JSON互转
- hibernate 查询实体类的list
- Java 如何将List<实体类> 转为List<Object>类型
- c# 反射得到实体类的字段名称和值,DataTable转List<T>
- Java List实体类去重
- List实体去重
- java List实体排序
- List中元素为实体类,找到实体类中的属性
- 后台通过Model传实体类数据到前端页面,如何取实体类中的list
- C#中 List类型Remove()方法不能移除对象问题
- 打印指定端口的链接数及对应的程序命令行(不止打印pid,还要打印对应的ps -ef的信息)
- 数组中常用的方法
- scala 之 spark读取mysql数据表并存放到mysql库
- DataBinding使用教程(四):BaseObservable与双向绑定
- List转实体类
- 自定义View 细节点记录
- PHP7.0微信公众平台开发6: 实例三:群发预览消息
- 86D(莫队算法)
- sublime text中<script type="text/ecmascript-6">如何代码高亮并支持语法?
- java注解试用及通过反射读取值
- JS常用函数使用指南
- 多源最短路径-Floyd-Warshall—C
- Win7x64+VS2015Pro+Matlab2016b+OpenCV3.2配置运行TLD