javaBean与Map相互转换工具
来源:互联网 发布:双十一淘宝客服回复 编辑:程序博客网 时间:2024/05/21 18:30
一)map转为 Bean
import java.lang.reflect.Field;import java.util.HashMap;import java.util.Map;import com.yaowan.qipai.common.framework.util.Slf4jLogUtil.LogUtil;/** * bean和map相互转换 * @author xiu * @version 2017年7月31日 下午8:47:25 */public class BeanMapChangeUtil {/** * map 转成 bean * * @param map * @param clazz * @return * @throws Exception */@SuppressWarnings("rawtypes")public static <T> T toBean(Map map, Class<T> clazz) throws Exception {T bean = clazz.newInstance();try {for (Object object : map.keySet()) {String s = object + "";Field field = clazz.getDeclaredField(s);Class c = field.getType();if (field != null) {field.setAccessible(true);if (String.class.equals(c)) {field.set(bean, map.get(object));} else if (Integer.class.equals(c) || int.class == c) {field.set(bean, Integer.parseInt(map.get(object) + ""));} else if (Long.class.equals(c) || long.class == c) {field.set(bean, Long.parseLong(map.get(object) + ""));} else if (Double.class.equals(c) || double.class == c) {field.set(bean,Double.parseDouble(map.get(object) + ""));} else if (Float.class.equals(c) || float.class == c) {field.set(bean, Float.parseFloat(map.get(object) + ""));} else if (Short.class.equals(c) || short.class == c) {field.set(bean, Short.parseShort(map.get(object) + ""));}}}return bean;} catch (Exception e) {LogUtil.exception(e);}return bean;}/** * 通过私有变量,javaBean转成map * * @param domain * @return */public static Map<String, String> toMap(Object domain) {Map<String, String> map = new HashMap<String, String>();try {Class<?> clazz = Class.forName(domain.getClass().getName());Field[] fileds = clazz.getDeclaredFields(); // 得到catClass类所有的属性(包括私有属性)for (Field field : fileds) {// 取消java语言访问检查,允许获取私有变量field.setAccessible(true);// 获取变量的类型名称// String returnType = field.getType().getName();// 获取变量的名称String fieldName = field.getName();// 获取当前对象的对应字段的值Object value = field.get(domain);map.put(fieldName, value + "");}} catch (Exception e) {LogUtil.exception(e);;}return map;}}}
二)bean转为Map
/** * 通过私有变量,javaBean转成map * * @param domain * @return */public static Map<String, String> toMap(Object domain) {Map<String, String> map = new HashMap<String, String>();try {Class<?> clazz = Class.forName(domain.getClass().getName());Field[] fileds = clazz.getDeclaredFields(); // 得到catClass类所有的属性(包括私有属性)for (Field field : fileds) {// 取消java语言访问检查,允许获取私有变量field.setAccessible(true);// 获取变量的类型名称// String returnType = field.getType().getName();// 获取变量的名称String fieldName = field.getName();// 获取当前对象的对应字段的值Object value = field.get(domain);map.put(fieldName, value + "");}} catch (Exception e) {LogUtil.exception(e);;}return map;}
阅读全文
0 0
- javaBean与Map相互转换工具
- Java中Map与JavaBean相互转换的工具
- javabean和map相互转换工具类
- JavaBean与Map的相互转换
- javaBean与Map<String,Object>相互转换
- XML与JavaBean相互转换工具
- XML与JavaBean相互转换工具
- Map和javaBean相互转换
- JavaBean与Map相互转化
- javaBean与Map相互转化
- json与javabean相互转换
- Map、JavaBean、JSON的相互转换
- JavaBean、xml、json、map相互转换
- 通过java的反射机制实现Map、JavaBean、JSON的相互转换工具类
- 基于java反射的javabean和map相互转换的工具类
- 基于java反射的javabean和map相互转换的工具类
- Map与JavaBean之间的相互转化
- Map与JavaBean之间的相互转化
- MySql删除外键语法 测试思路
- 重入锁
- C++学习之库函数<algorithgm>(1)
- HDU 6038-Function
- [SDOI2009]HH去散步
- javaBean与Map相互转换工具
- ATM取款Final
- C++中的初始化
- C++温故笔记(三)
- Spring的七个事务传播行为
- DOM4J学习笔记 --- Java遍历解析XML
- How Many Equations Can You Find(DFS)
- 腾迅2017秋招笔试编程
- 杭电题型分类 HDU