Java反射得到属性的值和设置属性的值

public static <T> void Model2Doc_childs(T t,Document reqData, Node parentNode) throws IllegalArgumentException, IllegalAccessException {
    
        Class<?> clazz = t.getClass();
        Field[] fields = clazz.getFields();

        for (Field f : fields) {
            System.out.println(f.getType());
            if (f.getType().equals(String.class)||f.getType().equals(Integer.class)) {
                Node n_node = reqData.createElement(f.getName());
               // System.out.println(f.getName());
                f.setAccessible(true);
                String value=String.valueOf(f.get(t));
                /*n_node.appendChild(reqData.createTextNode(XmlModelUtil
                        .getProperty(t, f.getName()).toString()));*/
                n_node.appendChild(reqData.createTextNode(value));
                parentNode.appendChild(n_node);
            }
        }
        /* Field[] fields= t.getClass().getDeclaredFields();
      
        for (Field f : fields) {
            if(f.getType().equals(QryBatchStateInfoResponseModel.class)){
                f.setAccessible(true);
                QryBatchStateInfoResponseModel a=(QryBatchStateInfoResponseModel)f.get(t);
                Field[] declaredFields = QryBatchStateInfoResponseModel.class.getDeclaredFields();
                for (Field field : declaredFields) {
                     if (!field.getType().equals(List.class)) {
                         Node n_node = reqData.createElement(field.getName());
                         System.out.println(field.getName());
                         n_node.appendChild(reqData.createTextNode(XmlModelUtil.getProperty(a, field.getName()).toString()));
                         parentNode.appendChild(n_node);
                     }
                }
            }
        }*/
    }

转载于:https://www.cnblogs.com/523823-wu/p/7768048.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值