獲取Java對象的所有屬性和方法

Java開發(fā)中遍歷Java對象,獲取對應的屬性和值。主要用到java.lang.reflect.Field這個類
廢話不多說,上代碼。

//示例類
 public class Host{
    private String ip;
    private int port;
    private String name;
    private List<String> child;
    public String getIp() {
        return ip;
    }
    public void setIp(String ip) {
        this.ip = ip;
    }
    public int getPort() {
        return port;
    }
    public void setPort(int port) {
        this.port = port;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public List<String> getChild() {
        return child;
    }
    public void setChild(List<String> child) {
        this.child = child;
    }
    
}
//
public class ReduceObject {
    public static void main(String[] args){
        Host host= new Host();
        host.setIp("192.168.145.130");
        host.setName("redisNode");
        host.setPort(5000);
        Field [] fields = refrect(host);
        for(int i=0;i<fields.length;i++){
            Field f = fields[i];
            f.setAccessible(true);//設置屬性可讀
            try {
                System.out.println("host["+f.getName()+"] =  "+f.get(host));
            } catch (IllegalArgumentException e) {
                e.printStackTrace();
            } catch (IllegalAccessException e) {
                e.printStackTrace();
            }
        }
        
    }
        //獲得所有屬性數(shù)組
    public static Field[] refrect(Host host){
        Class cls = host.getClass();
        Field[] fields = cls.getDeclaredFields();    
        return fields;
    }
}

最后編輯于
?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,039評論 25 709
  • 前言,本來只是想研究一下注解的,不過發(fā)現(xiàn),要懂注解先得懂反射,別問我為什么,你可以自己試試 JAVA反射 主要是指...
    justCode_閱讀 1,277評論 2 9
  • 人生不過就是忐忑緊張焦慮不知所措的前戲多,而實際完勝后的高潮很短,最后很長時間用來留下“原來不過如此”的一...
    我還是半澄閱讀 217評論 0 2
  • 不同的航空公司的空乘服務可謂是千差萬別,同樣是幾個小時的飛行,有些航空公司的空乘服務可謂是讓人印象深刻,與其他的那...
    觴詠閱讀 422評論 3 2
  • 有想象力的意大利人 用幽默放了一把火 燒掉了小說和她久居的壁壘森嚴的宮殿 解放了被縛的意識 中國中了魔法 沉浸在拉...
    勒普蘭斯閱讀 128評論 10 0

友情鏈接更多精彩內(nèi)容