Когда вы смотрите на размышление, обратите внимание. Объекты текущих отражений должны иметь объекты, то есть сущности.
Ссылка: Java Reflection Simple Lutorial
Импорт java.lang.reflect.field; import java.util.arraylist; import java.util.hashmap; import java.util.list; import java.util.map;/** * Отражает обработку фасоли, чтобы получить значение атрибута внутри * * @author liulinsen */public class refblebreburetil {/** ** all -agement * @ablest pparame @** ** ** ** * Объект * * @return Map <строка, объект> карта всех значений объекта String Keys Ex: {pjzyfy = 0,00, * xh = 01, zzyl = 0,00, MC = частота язв давления у госпитализированных пациентов, pjypfy = 0,00, rs = 0, pjzyts = 0,00, * Czydm = 0037, lx = 921, zssl = 0,00 zslatic = 0,00. Object> getKeyAndValue (Object obj) {map <string, object> map = new Hashmap <String, Object> (); // Получить класс класса класса usercla = (class) obj.getClass ();/* Получить все наборы атрибутов в классе*/field [] fs = usercla.getDecledFields (); fs [i]; f.setAccessible (true); // Установить некоторые свойства для доступных объектов val = new Object (); try {val = f.get (obj); // Получить значение этого свойства Map.put (f.getName (), val); // Установить ключевое значение} catchexception e) {e.printstacktrace (); {e.printstacktrace ();}/ * * string type = f.gettype (). toString (); // Получить тип этого свойства, если * (type.endswith ("string")) { * system.out.println (f.getType ()+"/t string"); F.Set (obj, "12"); * // Установить значение для свойства} else if (type.endswith ("int") || * type.endswith ("integer")) { * system.out.println (f.gettype ()+"/t int"); F.Set (OBJ, 12); // Установить значение для свойства*} else {System.out.println (f.getType ()+"/t"); } */} System.out.println ("Все значения ключей одного объекта == Reflection ==" + map.tostring ()); return Map;}/** * Значение ключа одного объекта * * @param объект * * * * @param ключ * * @return объект. класс класса класса usercla = (class) obj.getclass ();/* Получить все наборы атрибутов в классе*/field [] fs = usercla.getdeclaredfields (); for (int i = 0; i <fs.length; i ++) {field f = fs [i]; f.setaccesse (f.getName (). Endswith (key)) {System.out.println («Значение ключа одного объекта == Reflection ==" + f.get (obj)); return f.get (obj);}} catch (allodalargumentException e) {e.printstacktrace (); {e.printStackTrace();}}// Return empty string when not found return "";}/** * All key values of multiple (list) objects* * @param object * @return List<Map<String,Object>> All key values of all objects in the list:[{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}, {pjzyfy = 0,00, xh = 02, zzyl = 0,00, * mc = заболеваемость травмы неонатала, pjypfy = 0,00, rs = 0, pjzyts = 0,00 = 0,00. lx = 13, * zssl = 0,00}, {pjzyfy = 0,00, xh = 03, zzyl = 0,00, mc = частота доставки влагалища, * pjypfy = 0,00, rs = 0, pjzyts = 0,00, czydm = 0037, lx = 0, zssl = 0,00}, * {pjzy = 0.00 = 04, xhh Zzyl = 0,75, MC = частота реакции переливания крови, pjypfy = 0,00, rs = 0, * pjzyts = 0,00, czydm = 0037, lx = 0, zssl = 0,00}, {pjzyfy = 5186.12, * xh = 05, zzyl = 0,00, mcsaren stock, pjype. rs = 13, pjzyts = 7.15, * czydm = 0037, lx = 13, zssl = 0.00}] */public static list <map <string, object >> getKeySAndValues (list> Object> Object) {List <String, Object >> list = new ArrayList <map <string >> (); для (объект obj: obse usem us userc us userc us userc us objerc {obse obsecr {obse obsecrist <string, object >> (); usercla = (class) obj.getClass ();/* Получить все наборы атрибутов в классе*/field [] fs = usercla.getdeclaredfields (); map <string, object> listchild = new hashmap <string, object> (); для (int i = 0; i <fs.length; Некоторые свойства, чтобы быть доступными объектом val = new object (); try {val = f.get (obj); // Получить значение этого свойства listchild.put (f.getName (), val); // Установить значение ключа} catch (allodalArgumentExcept {e.printStackTrace ();}} list.add (listChild); // Добавить карту в сборку списка} system.out.println ("Все значения ключей нескольких (списки) объектов ====" + list.toString ()); return List;}/** * Значение клавиши множества (списка) объектов * * @param object * @param key * @return List <Object> Все значения, соответствующие ключу в списке, являются Ex: Ключи - это поле MC в вышеуказанном методе. Возвращенные данные являются: [частота пролежней у госпитализированных пациентов, * частота травмы при рождении новорожденных, вагинальная доставка по материнской травме, реакция на переливание крови, скорость кесарева сечения] */public static <object> getValuesbykey (список <object> объект, строковый ключ) {list> list = new ArrayList <Object> ();); for (Object obj: Object) {// Получить класс объекта класса usercla = (class) obj.getClass ();/* Получить все наборы атрибутов в классе*/field [] fs = usercla.getDeclAredfields (); для (int i = 0; i <fs.length; i ++) {field f = fs [i]; доступный try {if (f.getName (). endswith (key)) {list.add (f.get (obj));}} catch (allostalargumentexception e) {e.printstacktrace ();} catch (allodalaccessexception e) {e.printstacktrace ();}}} System.out.out. Objects ==== " + list.toString ()); return List;}}Называется:
Список <object> o =? Service.getalllist ();
// тест на анализ отражения Java
ReflectObjectutil.getKeyAndValue (O.Get (0));
ReflectObjectutil.getValueBykey (O.Get (0), "MC");
ReflectObjectutil.getKeySAndValues (O);
ReflectObjectutil.getValuesbykey (O, "MC");
Суммировать
Выше приведено все содержание этой статьи о использовании размышлений Java для получения атрибута и кода значения объекта. Я надеюсь, что это будет полезно для всех. Заинтересованные друзья могут продолжать ссылаться на этот сайт:
Учебное пособие по размышлению Java
Механизм размышлений Java Пример обмена кодом
Вещи, которые вам нужно знать о механизме отражения Java
Если есть какие -либо недостатки, пожалуйста, оставьте сообщение, чтобы указать это. Спасибо, друзья, за вашу поддержку на этом сайте!