• 技术文章 >Java >java教程

    java从list中取出对象并获得其属性值的方法

    高洛峰高洛峰2017-01-22 15:49:20原创1910
    最近公司的项目需要导出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核实处理。
    专题推荐:java list
    上一篇:java list用法示例详解 下一篇:java的arraylist排序示例(arraylist用法)
    千万级数据并发解决方案

    相关文章推荐

    • 一起来分析java是值传递还是引用传递• Java实例详解之子线程任务异常,主线程事务回滚• 详细整理java枚举的使用总结• 一起聊聊Java常用数据类型的输入输出• 带你搞懂JAVA反射机制(总结分享)
    1/1

    PHP中文网