欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

java從list中取出對(duì)象并獲得其屬性值的方法

 更新時(shí)間:2013年12月02日 14:20:01   作者:  
這篇文章主要介紹了java從list中取出對(duì)象并獲得其屬性值的方法,大家參考使用

最近公司的項(xiàng)目需要導(dǎo)出csv文件,一個(gè)同事用最原始的方式將每條記錄取出然后加“,”解決。
但是客戶后面要求在每個(gè)頁(yè)面當(dāng)中都加入這個(gè)功能。于是,問(wèn)題來(lái)了,分開寫代碼太多,合起來(lái)又不能確定在list中存儲(chǔ)的對(duì)象為哪個(gè)對(duì)象,不能用get方法獲得屬性。
我一直認(rèn)為當(dāng)初他那樣寫就將程序?qū)懰懒???墒?,在多次嘗試后,還是通過(guò)java的反射從list中取出了對(duì)象,從對(duì)象中取出了屬性值:

下面是代碼:

復(fù)制代碼 代碼如下:

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中取出的為何對(duì)象的時(shí)候,也能夠取得對(duì)象的屬性值,就可以寫出一個(gè)公共的方法來(lái)傳入List對(duì)象,然后進(jìn)行csv文件的生成,導(dǎo)出了。

相關(guān)文章

  • Eclipse 使用Maven構(gòu)建SpringMVC項(xiàng)目

    Eclipse 使用Maven構(gòu)建SpringMVC項(xiàng)目

    本文主要介紹在Eclipse下創(chuàng)建Maven項(xiàng)目構(gòu)建SpringMVC框架的過(guò)程,講解的比較詳細(xì),需要的朋友可以參考下。
    2016-06-06
  • SpringBoot集成極光推送的實(shí)現(xiàn)代碼

    SpringBoot集成極光推送的實(shí)現(xiàn)代碼

    工作中經(jīng)常會(huì)遇到服務(wù)器向App推送消息的需求,一般企業(yè)中選擇用極光推送的比較多,本文就介紹了SpringBoot集成極光推送的實(shí)現(xiàn)代碼,感興趣的可以了解一下
    2023-08-08
  • Java利用移位運(yùn)算將int型分解成四個(gè)byte型的方法

    Java利用移位運(yùn)算將int型分解成四個(gè)byte型的方法

    今天小編就為大家分享一篇關(guān)于Java利用移位運(yùn)算將int型分解成四個(gè)byte型的方法,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • Java中工具Jstack的使用實(shí)例

    Java中工具Jstack的使用實(shí)例

    jstack用于生成java虛擬機(jī)當(dāng)前時(shí)刻的線程快照,下面這篇文章主要給大家介紹了關(guān)于Java中工具Jstack使用的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • 淺析Java8新特性Lambda表達(dá)式和函數(shù)式接口

    淺析Java8新特性Lambda表達(dá)式和函數(shù)式接口

    Lambda表達(dá)式理解為是 一段可以傳遞的代碼。最直觀的是使用Lambda表達(dá)式之后不用再寫大量的匿名內(nèi)部類,簡(jiǎn)化代碼,提高了代碼的可讀性
    2017-08-08
  • Java基礎(chǔ)教程之對(duì)象的方法與數(shù)據(jù)成員

    Java基礎(chǔ)教程之對(duì)象的方法與數(shù)據(jù)成員

    這篇文章主要介紹了Java基礎(chǔ)教程之對(duì)象的方法與數(shù)據(jù)成員,本文講解對(duì)象的方法與數(shù)據(jù)成員相關(guān)知識(shí),因?yàn)閖ava是面向?qū)ο笳Z(yǔ)言,本文的知識(shí)都是經(jīng)常要用到的,需要的朋友可以參考下
    2014-08-08
  • SpringBoot整個(gè)啟動(dòng)過(guò)程的分析

    SpringBoot整個(gè)啟動(dòng)過(guò)程的分析

    今天小編就為大家分享一篇關(guān)于SpringBoot整個(gè)啟動(dòng)過(guò)程的分析,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-03-03
  • Java 通過(guò)AQS實(shí)現(xiàn)數(shù)據(jù)組織

    Java 通過(guò)AQS實(shí)現(xiàn)數(shù)據(jù)組織

    這篇文章主要介紹了通過(guò)AQS實(shí)現(xiàn)數(shù)據(jù)組織,想了解AQS的同學(xué)可以參考下
    2021-04-04
  • Java通俗易懂系列設(shè)計(jì)模式之適配器模式

    Java通俗易懂系列設(shè)計(jì)模式之適配器模式

    這篇文章主要介紹了Java通俗易懂系列設(shè)計(jì)模式之適配器模式,對(duì)設(shè)計(jì)模式感興趣的同學(xué),一定要看一下
    2021-04-04
  • 詳解Java 類的加載機(jī)制

    詳解Java 類的加載機(jī)制

    這篇文章主要介紹了Java 類的加載機(jī)制,幫助大家更好的理解和學(xué)習(xí)Java,感興趣的朋友可以了解下
    2020-08-08

最新評(píng)論