zoukankan      html  css  js  c++  java
  • 利用Java反射机制将Bean转成Map

    import java.lang.reflect.Field;
    import java.lang.reflect.InvocationTargetException;
    import java.lang.reflect.Method;
    import java.util.LinkedHashMap;
    import java.util.Map;
    
    public class BeanUtil {
        
        /**Description: 利用Java反射机制将Bean转成Map
         * Create Date: 2014年11月4日上午11:48:26<br/>
         * Author     : cyy <br/>
         * Modify Date: <br/>
         * Modify By  : <br/>
         * @param obj
         * @return
         */
        public static Map<String,Object> transBean2Map(Object obj){  
            Map<String,Object> map = new LinkedHashMap<String,Object>();  
            //key值 应该是 obj类中的属性名,利用反射机制  
            Field[] fields = obj.getClass().getDeclaredFields();  
            for(int i=0; i<fields.length; i++){  
                String field = fields[i].toString();  
                String[] keys = field.split("\.");  
                String key = keys[keys.length-1];  
                char toUpperCase = (char)(key.charAt(0)-32);  
                String keyUpper = key.replaceFirst(new String(new char[]{key.charAt(0)}) ,new String(new char[]{toUpperCase}) );//key.replace(key.charAt(0),toUpperCase);  
                Method getMethod;  
                try {  
                    getMethod = obj.getClass().getDeclaredMethod("get"+keyUpper);//根据 field得到对应的get方法  
                    Object value = getMethod.invoke(obj);  
                    map.put(key, value);  
                } catch (NoSuchMethodException e) {  
                    e.printStackTrace();  
                } catch (SecurityException e) {  
                    e.printStackTrace();  
                }catch (IllegalAccessException e) {  
                    e.printStackTrace();  
                } catch (IllegalArgumentException e) {  
                    e.printStackTrace();  
                } catch (InvocationTargetException e) {  
                    e.printStackTrace();  
                }         
            }  
            return map;  
        } 
    }
  • 相关阅读:
    curl命令查看响应时间
    sshd修改监听端口
    nginx proxy_set_header设置,自定义header
    nginx.conf详解
    系统盘脚本扩容
    IDEA中编写脚本并运行shell脚本
    常用的pdf工具
    POJ:3279-Fliptile【状态压缩】【DFS】
    POJ:Dungeon Master(BFS模板题)
    #1198:Farm Irrigation(DFS + 并查集)
  • 原文地址:https://www.cnblogs.com/yy123/p/5169194.html
Copyright © 2011-2022 走看看