获取list集合指定变量的值的集合

来源:互联网 发布:linux怎么设置搜狗 编辑:程序博客网 时间:2024/06/05 23:47

简单说明一下:使用原理是反射机制

/**

     * 获取list集合里面某一个字段的内容拼接
     * @param list    
     * @param name    字段名
     * @param splitFlag    分隔符
     * @return
     * @throws Exception
     */
    public static String getField(List<?> list, String name, String splitFlag) throws Exception {
        StringBuffer orderNo = new StringBuffer();
        if(splitFlag==null){
            splitFlag = ",";
        }
        if(list.size()>0){
            Class c = list.get(0).getClass();
            for (int i = 0; i < list.size(); i++) {
                Field field = c.getDeclaredField(name);
                field.setAccessible(true);
                Object obj = list.get(i);
                if(i>0){
                    orderNo.append(splitFlag);
                }
                orderNo.append(field.get(obj));
            }
        }
        return orderNo.toString();

    }

补充一下反射机制的内容:

获取到传入的类型

Class c = list.get(0).getClass();

获取指定的类字段

Field field = c.getDeclaredField(name);

获取值:get()返回的是Object类型,也有指定的类型方法getInt()

field.get(obj)

反射机制内容我另外会写一篇学习总结和参考内容。


原创粉丝点击