首頁 >Java >java教程 >java從list中取出物件並獲得其屬性值的方法

java從list中取出物件並獲得其屬性值的方法

高洛峰
高洛峰原創
2017-01-22 15:49:204143瀏覽

最近公司的專案需要匯出csv文件,一個同事用最原始的方式將每筆記錄取出然後加「,」解決。
但是客戶後面要求在每個頁面當中都加入這個功能。於是,問題來了,分開寫程式太多,合起來又不能確定在list中儲存的對象為哪個對象,不能用get方法取得屬性。
我一直認為當初他那樣寫就將程式寫死了。可是,在多次嘗試後,還是透過java的反射從list中取出了對象,從對像中取出了屬性值:

下面是代碼:

package com.hb.test;

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

public class Test {

    public static void main(String[] args) throws IllegalArgumentException,
            Exception {
        Person p1 = new Person("111", "aaa");
        Person p2 = new Person("222", "bbb");
        List list = new ArrayList();
        list.add(p1);
        list.add(p2);
        test(list);

    }

    public static void test(List list) throws Exception, IllegalAccessException {
        for (int i = 0; i < list.size(); i++) {
            Field[] fields = list.get(i).getClass().getDeclaredFields();
            Object oi = list.get(i);
            for (int j = 0; j < fields.length; j++) {
                if(!fields[j].isAccessible()){
                    fields[j].setAccessible(true);
                }

                System.out.println(fields[j].get(oi));
            }
        }
    }

}

這樣在不知道從list中取出的為何對象的時候,也能夠取得對象的屬性值,就可以寫出一個公共的方法來傳入List對象,然後進行csv文件的生成,導出了。

更多java從list中取出物件並獲得其屬性值的方法相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn