ホームページ  >  記事  >  Java  >  リストからオブジェクトを削除し、その属性値を取得する Java メソッド

リストからオブジェクトを削除し、その属性値を取得する Java メソッド

高洛峰
高洛峰オリジナル
2017-01-22 15:49:204061ブラウズ

最近、会社のプロジェクトで CSV ファイルをエクスポートする必要がありました。同僚は、各レコードを取り出して「,」を追加する最も原始的な方法を使用して問題を解決しました。
しかし、その後、顧客はこの機能をすべてのページに追加するように要求しました。そこで問題が発生します。個別に記述されたコードが多すぎるため、どのオブジェクトがリストに格納されているかを判断できず、属性を取得するために get メソッドを使用できないということです。
あのようにプログラムを書いたとき、彼は死ぬほどプログラムを書いたのだといつも思っていました。しかし、何度も試みても、オブジェクトは Java リフレクションを通じてリストから取り出され、属性値もオブジェクトから取り出されます。

以下はコードです:

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 メソッドについては、PHP 中国語 Web サイトに注目してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。