Ein aktuelles Unternehmensprojekt erforderte den Export einer CSV-Datei. Ein Kollege verwendete die einfachste Methode, um jeden Datensatz zu extrahieren und „“ hinzuzufügen, um das Problem zu lösen.
Aber der Kunde forderte später, dass diese Funktion auf jeder Seite hinzugefügt wird. Das Problem besteht also darin, dass zu viele Codes separat geschrieben werden. Zusammen können sie nicht bestimmen, welches Objekt in der Liste gespeichert ist, und können die get-Methode nicht zum Abrufen von Attributen verwenden.
Ich dachte immer, dass er das Programm zu Tode geschrieben hatte, als er es so schrieb. Nach vielen Versuchen wurde das Objekt jedoch immer noch durch Java-Reflexion aus der Liste entfernt und der Attributwert wurde aus dem Objekt entfernt:
Das Folgende ist der Code:
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)); } } } }
Funktioniert das? Wenn Sie wissen, welches Objekt aus der Liste entfernt wird, können Sie auch den Attributwert des Objekts abrufen. Sie können eine öffentliche Methode schreiben, um das Listenobjekt zu übergeben, und dann eine CSV-Datei generieren und exportieren .
Weitere Java-Methoden zum Entfernen von Objekten aus der Liste und zum Abrufen ihrer Attributwerte finden Sie auf der chinesischen PHP-Website!