반사를 보면 메모를하십시오. 현재 반사 객체에는 객체, 즉 엔티티 콩이 있어야합니다.
참조 : Java Reflection Simple Tutorial
import java.lang.reflect.Field;import java.util.ArrayList;import java.util.HashMap;import java.util.List;import java.util.Map;/** * Reflect processing Bean to get the attribute value inside* * @author liulinsen * */public class ReflexObjectUtil {/** * All key values of a single object* * @param object * Single Object * * @return map <string, object> 맵 모든 문자열 키 객체 값 값 Ex : {pjzyfy = 0.00, * xh = 01, zzyl = 0.00, mc = 입원 환자에서 압력 궤양의 발생률, pjypfy = 0.00, rs = 0, pjzyt = 0.00, * czydm = 0037, lx = 921, zsl = 0.00} * map <string, object> getKeyAndValue (Object obj) {map <string, object> map = new Hashmap <String, Object> (); // 클래스 객체 클래스 usercla = (class) obj.getClass ();/* 클래스*/field [] fs = usercla.getDeclaredfields (int i = 0; i); f = fs [i]; f.setAccessible (true); // 액세스 가능한 객체가 될 수있는 속성을 설정합니다. val = new Object (); try {val = f.get (obj); //이 속성 맵의 값을 얻습니다. e) {e.printstacktrace ();}/ * * 문자열 유형 = f.getType (). toString (); //이 속성의 유형을 * (type.endswith ( "String")) { * system.out.println (f.getType ()+"/t is String"); F. 세트 (obj, "12"); * // 속성의 값을 설정} else if (type.endswith ( "int") || * type.endswith ( "integer")) { * system.out.println (f.gettype ()+"/t is int"); F. 세트 (obj, 12); // 속성의 값을 설정*} else {system.out.println (f.getType ()+"/t"); } */} system.out.println ( "단일 객체의 모든 키 값 == 반사 ==" + map.toString ()); return map;}/** * 단일 객체 키의 값 * * @Param Object * object * * @param 키 * * @return 객체에서 키의 해당 값이 찾을 수 없음 */public object getvaluebykey (getvalueykey) 클래스 객체 클래스 usercla = (class) obj.getClass ();/* 클래스*/필드 [] fs = usercla.getDeclaredFields (); (f.getName (). EndSwith (key)) {System.out.println ( "단일 객체의 키의 값 == 반사 값 ==" + f.get (obj)); return f.get (obj);}} catch (ElegalArgumentException e) {e.printstacktrace (); {e.printstacktrace ();}} // return empty string을 찾을 수 없을 때 return ";}/** * 여러 (목록) 객체의 모든 주요 값 * * @param 객체 * @return list <map <string, object >> 목록에있는 모든 객체의 모든 주요 값 : [{pjzyfy = 0.00, xh = 01, * zzyl = 0. 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, pjzyts. czydm = 0037, 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}, {pjzyfy = 0.00, xh = 04, zzyl = 0.75, mc = 혈액 수혈 반응의 발생률, pjypfy = 0.00, rs = 0, * pjzyts = 0.00, czydm = 0037, lx = 0, zssl = 0.00}, {pjzyfy = 0.00, * xh = 05, zzyl MC = Ceserean 섹션 속도, pjypfy = 1611.05, rs = 13, pjzyts = 7.15, * czydm = 0037, lx = 13, zssl = 0.00}] */public static list <map <string, object >> getKeysandvalues (list <botor 객체) {list <map <map <map <map <map <map <map <map <map <map. Object >> (); for (object obj : object) {class userCla; // 클래스 객체 usercla = (class) obj.getClass ();/* 클래스에서 모든 속성 세트를 가져옵니다*/field [] fs = usercla.getDeclaredFields (); map <string, object> listChild = new hashmap <string> (); (in i =;); {field f = fs [i]; f.setAccessible (true); // 액세스 가능한 객체가 될 수있는 속성을 설정하십시오. (불법 행위 exception e) {e.printstacktrace ();}} list.add (listChild); // 목록에 맵을 추가} system.out.println ( "여러 (목록) 객체의 모든 키 값 ====" + list.tostring ()); 반환 목록;}/** * 여러 (목록) 객체 키의 값 * * @param 객체 * @param key * @return list <bood> 목록의 키에 해당하는 모든 값은 예 : 키는 위 메소드의 MC 필드입니다. 반환 된 데이터는 다음과 같습니다. [입원 환자의 압력 궤양의 발생률, * 신생아 출생 부상의 발생률, 질 전달 모체 출생 부상, 혈액 수혈 반응, 제왕 절개 속도] */public static list <booft> getValuesBykey (목록 <bood> 객체, 문자열 키) {list <boodt> list = new arraylist <대상> (); for (object obj : object) {// 클래스 객체 클래스를 가져옵니다. usercla = (class) obj.getClass ();* 클래스*/field [] fs = usercla.getDeclaredFields (); for (int i = 0; i <fs.length; i ++) {f.set eptient (true retive); try (f.getName (). EndSwith (key)) {list.add (f.get (obj));}} catch (delegalArgumentException e) {e.printstacktrace ();} catch (e.printstacktrace e) {e.printstacktrace ();}} 시스템. 개체 ==== " + list.toString ()); return list;}}라고 불리는:
목록 <botort> o =? service.getallList ();
// Java 반사 분석 테스트
ReflectObjectUtil.GetKeyAndValue (O.Get (0));
reflexobjectUtil.getValueBykey (O.Get (0), "MC");
ReflectoBjectUtil.getKeysAndValues (O);
reflexobjectUtil.getValuesByKey (O, "MC");
요약
위는 Java의 반사 사용에 대한이 기사의 전체 내용입니다. 모든 사람에게 도움이되기를 바랍니다. 관심있는 친구들은이 사이트를 계속 참조 할 수 있습니다.
Java Reflection Tutorial
Java 반사 메커니즘 예제 코드 공유
Java 반사 메커니즘에 대해 알아야 할 사항
단점이 있으면 메시지를 남겨 두십시오. 이 사이트를 지원해 주신 친구들에게 감사드립니다!