Wenn Sie sich die Reflexion ansehen, nehmen Sie eine Notiz. Die aktuellen Reflexionsobjekte müssen Objekte haben, dh Entity Beans.
Referenz: Java Reflexion einfaches Tutorial
importieren java.lang.reflect.field; import Java.util.ArrayList; import Java.util.hashMap; Import Java.util.List; importieren Sie java.util.map;/** * Reflect Processing Bean, um den Attributwert in * *Author liulinsen */öffentliche Klassen -Reflex -Reflex -Reflex -Reflex -1 - @ -/ * -ALLE -NACHLICHEN von einem einzigen Objekt zu erhalten. object* * @return Map<String, Object> map All String keys Object values ex: {pjzyfy=0.00, * xh=01, zzyl=0.00, mc=The incidence of pressure ulcers in hospitalized patients, pjypfy=0.00, rs=0, pjzyts=0.00, * czydm=0037, lx=921, zssl=0.00} */public static Karte <String, Object> getKeyandValue (Objekt obj) {map <String, Objekt> map = new HashMap <String, Objekt> (); // Erhalten Sie die Klasse Object Class usercla = (Klasse) obj.getClass ();/* Alle Attributsätze in der Klasse*/field [] fs = usercla.Geredfields (); f = fs [i]; oder F.Set (obj, "12"); * // den Wert für die Eigenschaft festlegen} else if (type.endswith ("int") || * type.endswith ("Integer") { * system.out.println (f.gettType ()+"/t ist int"); F.Set (obj, 12); // Setzen Sie den Wert für die Eigenschaft*} else {System.out.println (f.gettType ()+"/t"); } */} System.out.println ("Alle Schlüsselwerte eines einzelnen Objekts == Reflection ==" + map.toString ()); return map;}/** * Wert eines Schlüssels eines einzelnen Objekts * * @param -Objekt * Objekt * @param key * * * @return Object Der entsprechende Wert des Schlüssels. Die Klasse Objektklasse usercla = (Klasse) obj.getClass ();/* Alle Attributsätze in der Klasse*/field [] fs = usercla.getdeclaredfields (); für (int i = 0; i <fs.Length; i ++) {field f = fs [i]; (f.getName (). Endswith (Schlüssel)) {System.out.println ("Der Wert eines Schlüssels eines einzelnen Objekts == Reflexion ==" + f.get (obj)); return f.get (obj);}} catch (illegalArgumentException E) {e.printaNtrace ()} fang (illegale AccessException (); oder pjypfy=0.00, rs=0, pjzyts=0.00, * czydm=0037, lx=921, zssl=0.00}, {pjzyfy=0.00, xh=02, zzyl=0.00, * mc=the incidence of neonatal injury, pjypfy=0.00, rs=0, pjzyts=0.00, czydm=0037, lx=13, * zssl=0.00}, {pjzyfy=0.00, xh=03, zzyl=0.00, mc=the incidence of vaginal delivery, * pjypfy=0.00, rs=0, pjzyts=0.00, czydm=0037, lx=0, zssl=0.00}, * {pjzyfy = 0,00, xh = 04, Zzyl = 0,75, mc = die Inzidenz von Bluttransfusionsreaktion, pjypfy = 0,00, rs = 0, * pjzyts = 0,00, czydm = 0037, lx = 0, zssl = 0,00}, {pjzy = 5186.12, {pjzyfy = 5186.12, {pjzyfy = 5186.12, {pjzyfy = 5186.12. mc = caisarische Abschnittsrate, pjypfy = 1611.05, rs = 13, pjzyts = 7.15, * czydm = 0037, lx = 13, zssl = 0.00}] */public static list <map <String, Objekt> GetKeysandValues (List < -Objekte> {{map <map <map <map <map <map <map <map < Objekt >> (); für (Objekt obj: Objekt) {Klasse userClA; // Erhalten Sie die Klasse Object usercla = (Klasse) obj.getClass ();/* Alle Attributsätze in der Klasse*/field [] fs = usercla.getDeklaredfields (); map <String, Object> listechild = new HaSHmap <Stocel, Object, Object, Object, () () () (); {Feld f = fs [i]; (IllegalAccessException e) {e.printstacktrace ();}} list.add (listchild); // Map zur Liste der Liste system.out.out.println ("alle Schlüsselwerte mehrerer (List) Objekte ====" + list.toString ()); Rückgabeliste;}/** * Der Wert eines Schlüssels mehrerer (Liste) Objekte * * @Param -Objekt * @param Key * @Return List <Objekt> Alle Werte, die dem Schlüssel in der Liste entsprechen, sind Ex: Tasten sind das MC -Feld in der obigen Methode. Die zurückgegebenen Daten sind: [die Inzidenz von Druckgeschwüren bei Krankenhauspatienten, * Inzidenz von Geburtsverletzungen bei Neugeborenen, vaginale Entbindung mütterlicher Geburtsverletzung, Bluttransfusionsreaktion, Kaiserschnitt -Abschnittsrate] */öffentliche statische Liste <Objekt> GetValuesByKey (List <Doject>, String -Taste) {List <Foject> List = New Arraylist <Foject> () (); für (Objekt obj: Objekt) {// Erhalten Sie die Klasse Object Class usercla = (Klasse) obj.getClass ();/* Nehmen Sie alle Attributsätze in der Klasse*/field [] fs = usercla.getDeclaredFields (); für (inti = 0; i <fs.Length; i ++) {field f = f = fs -versuchs fs.fs. f. ilbs [ighesht [ighesht); {if (f.getName (). EndsWith (key)) {list.add (f.get (obj));}} catch (illegalArgumentException e) {e.printstacktrace ();} catch (illegalaccessException e) {E.printstacktrace ();}}}} system. Objekte ==== " + list.toString ()); Rückgabeliste;}}Angerufen:
LIST <Object> o =? Service.getalllist ();
// Java Reflection Analysis Test
ReflexObjectUtil.getKeyandValue (O.Get (0));
ReflexObjectUtil.getValuebykey (O.Get (0), "MC");
ReflexObjectUtil.getkeysandValues (O);
ReflexObjectUtil.getValuesByKey (O, "MC");
Zusammenfassen
Das obige ist der gesamte Inhalt dieses Artikels über die Verwendung von Reflexion durch Java, um den Attribut- und Wertcode -Code eines Objekts zu erhalten. Ich hoffe, es wird für alle hilfreich sein. Interessierte Freunde können weiterhin auf diese Seite verweisen:
Java Reflection Tutorial
Beispiel Code Sharing von Java Reflection Mechanismus
Dinge, die Sie über den Java -Reflexionsmechanismus wissen müssen
Wenn es Mängel gibt, hinterlassen Sie bitte eine Nachricht, um darauf hinzuweisen. Vielen Dank an Freunde für Ihre Unterstützung für diese Seite!