Lorsque vous regardez la réflexion, prenez une note. Les objets de réflexion actuels doivent avoir des objets, c'est-à-dire des haricots entités.
Référence: Java Reflection Tutoriel Simple
Importer java.lang.reflect.field; importer java.util.arraylist; import java.util.hashmap; importer java.util.list; import java.util.map; / ** * reflète le traitement du bean pour obtenir la valeur d'attribut à l'intérieur * * @author liulinsen * * / public class reflexobjectotil {/ ** * toutes les valeurs clés de l'objet unique * * @return map <String, objet> map toutes les clés de chaîne Valeurs d'objet Ex: {pjzyfy = 0,00, * xh = 01, zzyl = 0,00, MC = l'incidence des ulcères de pression chez les patients hospitalisés, pjypfy = 0,00, RS = 0, pjzyts = 0,00, * Czydm = 0037, lx = 921, zssl = 0,00, / / public Map <stry <stry <sting Objet> getKeyAndValue (objet obj) {map <string, objet> map = new hashmap <string, objet> (); // Obtenez la classe de classe USerCLA = (class) obj.getClass (); / * Obtenez tous les ensembles d'attributs dans la classe * / champ [] fs = userCla.getDecLaredFields () fs [i]; f.setAccessible (true); // Définissez certaines propriétés pour être un objet accessible val = new object (); try {val = f.get (obj); // obtenir la valeur clé de cette propriété. {e.printStackTrace ();} / * * String type = f.getType (). toString (); // Obtenez le type de cette propriété si * (type.endswith ("string")) {* System.out.println (f.getType () + "/ T is String"); f.set (obj, "12"); * // Définissez la valeur de la propriété} else if (type.endswith ("int") || * type.endswith ("Integer")) {* System.out.println (f.getType () + "/ t est int"); f.set (obj, 12); // Définissez la valeur de la propriété *} else {System.out.println (f.getType () + "/ t"); } * /} System.out.println ("Toutes les valeurs de clé d'un seul objet == Réflexion ==" + map.toString ()); retour map;} / ** * Valeur d'un objet clé d'un seul objet * * @param objet * objet * * @param clé * * * @return objet La classe d'objet de classe userla = (class) obj.getClass (); / * Obtenez tous les ensembles d'attributs dans la classe * / fiel (f.getName (). Endswith (key)) {System.out.println ("la valeur d'une clé d'un seul objet == réflexion ==" + f.get (obj)); return f.get (obj);}} catch (illégalargumentException e) {e.printStackTrace ();} catch (illégalaccessException e) {e.printStackTrace ();}} // Renvoie une chaîne vide lorsqu'elle n'est pas trouvée Renvoie "";} / ** * Toutes les valeurs clés de plusieurs objets (liste) * * @param objet * @return List <Map <String, Object >> Toutes les valeurs clés de tous les objets de la liste: [{pjzyfy = 0,00, xh = 01, * zzyl = 0.00, mc = l'incidence des ulces de pression dans les patients hospitalisé pjypfy = 0,00, Rs = 0, pjzyts = 0,00, * Czydm = 0037, lx = 921, zssl = 0,00}, {pjzyfy = 0,00, xh = 02, zzyl = 0,00, * mc = l'incidence de la blessure néonatale, Pjypfy = 0,00, Rs = 0, Pjzyts = 0,00, czydm = 0037, lx = 13, * zssl = 0,00}, {pjzyfy = 0,00, xh = 03, zzyl = 0,00, mc = l'incidence de la livraison vaginale, * pjypfy = 0,00, rs = 0, pjzyts = 0,00, czydm = 0037, lx = 0, zssl = 0,00}, * * {pjzyfy = 0,00, xh = 04, zzyl = 0,75, mc = l'incidence de la réaction de transfusion sanguine, pjypfy = 0,00, Rs = 0, * pjzyts = 0,00, Czydm = 0037, lx = 0, zssl = 0,00}, {pjzyfy = 5186.12, * xh = 05, zzyl = 0,00, 5186.12, * xh = 05, zzyle = 0,00, 5186.12, * xh = 05, zzyle = 0,00, 5186.12, * xh = 05, zzyle = 0,00, 5186.12, * xh = 05, zzy MC = taux de section césarienne, pjypfy = 1611.05, rs = 13, pjzyts = 7.15, * czydm = 0037, lx = 13, zssl = 0,00}] * / public static <map <string, objet >> getKeysandValues (list <objet> objet) {list <map <string, objet >> list = list = list <map <map <string> (); (Objet obj: objet) {class userCla; // Obtenez l'objet class userla = (class) obj.getclass (); / * obtenir tous les ensembles d'attributs dans la classe * / champ [] fs = userCla.getDeclaredFields (); map <string, objet> listChild = new hashmap <String, objet> (); pour (int i = 0; i <fs.Lord; = fs [i]; f.setAccessible (true); // Définissez certaines propriétés pour être un objet accessible val = new object (); try {val = f.get (obj); // obtenez la valeur de cette propriété listChild.put (f.getName (), val); // définit la valeur clé} Catch (ilgalargumentException e) {E.PrintStack e) {e.printStackTrace ();}} list.add (listChild); // Ajouter une carte à la collection List} System.out.println ("toutes les valeurs clés de plusieurs objets (list) ====" + list.toString ()); Return List;} / ** * La valeur d'une clé de plusieurs objets (liste) * * @param objet * @param key * @return list <objet> Toutes les valeurs correspondant à la clé de la liste sont ex: les clés sont le champ MC dans la méthode ci-dessus. Les données renvoyées sont: [L'incidence des ulcères de pression chez les patients hospitalisés, * Incidence des lésions de naissance néonatales, accouchement vaginal blessure à la naissance maternelle, réaction de transfusion sanguine, taux de section césarienne] * / Liste statique publique <objet> getValuesByKey (List <objet> Objet, clé de chaîne) {List <Object> list = new ArrayList <Object> (); pour (objet obj: objet) {// Obtenez la classe de classe d'objet userla = (class) obj.getClass (); / * obtenir tous les ensembles d'attributs dans la classe * / champ [] fs = userla.getDeclaredFields (); for (int i = 0; i <fs.length; i ++) {fiel accessible try {if (f.getName().endsWith(key)) {list.add(f.get(obj));}}catch (IllegalArgumentException e) {e.printStackTrace();}catch (IllegalAccessException e) {e.printStackTrace();}}}System.out.println("The value list of a key of multiple (list) objets ==== "+ list.toString ()); Retour List;}}Appelé:
Liste <objet> o =? Service.getAllList ();
// Test d'analyse de réflexion Java
ReflexObjectUtil.getKeyAndValue (O.Get (0));
ReflexObjectUtil.getValueBykey (O.Get (0), "MC");
ReflexobjectUtil.getKeysAndValues (O);
ReflexObjectUtil.getValuesBykey (O, "MC");
Résumer
Ce qui précède est l'intégralité du contenu de cet article sur l'utilisation de la réflexion par Java pour obtenir l'attribut et le code du code de valeur d'un objet. J'espère que ce sera utile à tout le monde. Les amis intéressés peuvent continuer à se référer à ce site:
Tutoriel de réflexion Java
Java Reflection Mécanisme Exemple de code partage de code
Des choses que vous devez savoir sur le mécanisme de réflexion Java
S'il y a des lacunes, veuillez laisser un message pour le signaler. Merci vos amis pour votre soutien pour ce site!