>  기사  >  Java  >  목록에서 객체를 제거하고 해당 속성 값을 얻는 Java 메소드

목록에서 객체를 제거하고 해당 속성 값을 얻는 Java 메소드

高洛峰
高洛峰원래의
2017-01-22 15:49:204117검색

최근 회사 프로젝트에서 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));
            }
        }
    }

}

입니다. 이렇게 하면 목록에서 개체를 제거할 때 개체의 속성 값을 가져올 수도 있습니다. 목록 개체를 전달한 다음 csv 파일을 생성할 수도 있습니다. 그리고 내보냅니다.

목록에서 개체를 제거하고 해당 속성 값을 얻는 더 많은 Java 메서드를 보려면 PHP 중국어 웹사이트에 주목하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.