java反射得到类的属性名和属性值并且放入Map中

来源:互联网 发布:知乎软件推荐 编辑:程序博客网 时间:2024/05/16 13:38

public void setValue(AddShoppingDataSolr release, Map<String, Object> solrMap) {//AddShoppingDataSolr  为一个实体类

        Field[] fields = release.getClass().getDeclaredFields();  
        for(Field field : fields){  
            String fieldName1 =  field.getName();  //得到属性名称
            String fieldName = fieldName1.substring(0, 1).toUpperCase() + fieldName1.substring(1);//把得到属性名称的第一个字母大写
             Object type = null;
                 Method m;
                    try {
                        m = release.getClass().getMethod("get" + fieldName);
                         type =  m.invoke(release); //得到属性值
                    } catch (NoSuchMethodException e) {
                    }catch (IllegalAccessException e) {
                    } catch (InvocationTargetException e) {
                    }
                    solrMap.put(fieldName1,type);//把属性名称作为Key,属性值作为Value
           
        }  
    }
0 0
原创粉丝点击