反射获取属性值

简单的通过动态属性名获取属性值
一个简单的JAVA对象

public class platformBean {
    
    private String platName1;
    
    private String platLink1;
    
    private String platName2;
    
    private String platLink2;
    
    private String platName3;
    
    private String platLink3;
    
    private String platName4;
    
    private String platLink4;
    
    private List<tempPlat> listPlat;
}

public class tempPlat {
    private String platName;
    private String platLink;
}
package com.lovo.test;

import java.lang.reflect.Field;
import java.util.ArrayList;
import java.util.List;

import org.apache.commons.lang.StringUtils;


import com.lovo.beans.platformBean;
import com.lovo.beans.tempPlat;

public class reflexTest {

    public static Object getValeByReflex(String key,Object obj)
    {
        //获取对象文件数组
        Field[] fieldes = obj.getClass().getDeclaredFields();
        for (Field field : fieldes) {
            //设置权限
            field.setAccessible(true);
            //field.getName() 获取属性名
            if(key.equals(field.getName()))
            {
                try 
                {
                    //获取属性值
                    return  field.get(obj);
                    
                } catch (Exception e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }
            }

        }
        return null;
    }
    
    
    public static void main(String[] args) {
        
        platformBean bean = new platformBean("平台1", "连接1", "平台2", "连接2", null, null, null, null);
        
        List<tempPlat> platList = new ArrayList<tempPlat>();
        
        for(int i=1;i<5;i++)
        {
            String plat ="platName"+i;
            String link ="platLink"+i;
            plat = (String) getValeByReflex(plat, bean);
            link= (String) getValeByReflex(link, bean);
            if(StringUtils.isNotEmpty(plat)&&StringUtils.isNotEmpty(link))
            {
                tempPlat temp = new tempPlat();
                temp.setPlatName(plat);
                temp.setPlatLink(link);
                platList.add(temp);
                
            }
        }
        bean.setListPlat(platList);
        
        System.out.println(bean);
        
        
    }
}

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 136,212评论 19 139
  • 简书 王俊杰猛 水浒传:水浒人物赏析,扈三娘,鲁智深,花荣 弓开秋月——花荣 提及花荣,永远都是手中那支箭。 在《...
    王俊杰猛阅读 7,744评论 2 5
  • 标题正如现在的心情,黑色,看多了黑色,你会恐慌吗!自我反思不下数十次,也从别人的影子里面寻了寻,我为什么那么心情低...
    菲児依一阅读 3,012评论 0 0
  • 小时候,答案总在练习册的最后几页,答案写的是什么就是什么;多年以后,长大成人,我依旧习惯于找标准答案,一开始觉得答...
    十一而立阅读 1,360评论 0 0

友情链接更多精彩内容