Quando você olha para a reflexão, tome uma nota. Os objetos de reflexão atuais devem ter objetos, ou seja, feijão da entidade.
Referência: Tutorial simples de reflexão java
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> 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 Map<String, Objeto> getKeyAndValue (objeto obj) {map <string, object> map = new hashmap <string, object> (); // obtenha a classe de classe objeto usercla = (class) obj.getclass ();/* obtenha todos os conjuntos de atributos (field «field [] fs = usercla.getDeCLeardFelds () para (field); fs [i]; F.SetAccessible (true); // Defina algumas propriedades para serem acessíveis objeto val = new Object (); tente {val = f.get (obj); // obtenha o valor desse imóvel map.put (f.GetName (), val); // Defina o valor da chave} Catch (ilegalArgment »(E.PRATK); {E.PrintStackTrace ();}/ * * String Type = f.getType (). ToString (); // Obtenha o tipo dessa propriedade se * (type.endswith ("String")) { * System.out.println (f.gettype ()+"/t Is String"); F.Set (OBJ, "12"); * // Defina o valor para a propriedade} else if (type.endswith ("int") || * type.endswith ("integer")) { * System.out.println (f.getType ()+"/t Is Int"); F.Set (OBJ, 12); // Defina o valor para a propriedade*} else {System.out.println (f.gettype ()+"/t"); } */} System.out.println ("Todos os valores -chave de um único objeto == reflexão ==" + map.toString ()); retorna mapa;}/** * classe de objeto classe usercla = (classe) obj.getclass ();/* Obtenha todos os conjuntos de atributos na classe*/field [] fs = userrcla.getDecLaredFields (); para (int i = 0; i <fs.length; i ++) {Field fs [i]; f.esetaccessível); (f.getName (). endswith (key)) {System.out.println ("o valor de uma chave de um único objeto == reflexão ==" + f.get (obj)); retorna f.get (obj);}} catch (ilegalargumentException e) {e.printstacktrace ();}}; {E.PrintStackTrace ();}} // Retorna String vazia quando não for encontrada retorna "";}/** * Todos os valores -chave de múltiplos (list) objetos * * @param objeto * @return list <map <string, objeto>> Ur valores -chave de todos os objetos na lista: [{pjzyfy = 0.00, xh = 01, * zzy pjypfy = 0,00, rs = 0, pjzyts = 0,00, * czydm = 0037, lx = 921, zsssl = 0,00}, {pjzyfy = 0,00, xh = 02, zzyl = 0,00, * mc = a incidência de lesão neonatal, PJypfy = 0.00, 0,00, 0,00, 0,00, 0,00 = 0,00, 0,00, 0,00, 0,00, 0,00, 0,00, 0,00 = 0,00, 0,00, 0,00 = 0,00, 0,00, 0,00 = 0,00 = 0,00, 0,00, 0,00 = 0,00 = 0,00 = 0,00, 0,00, 0,00 = 0,00 = 0,00, 0,00 = 0,00, 0,00, 0,00 = 0,00 = 0,00, 0,00 = 0. 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=the incidence of blood transfusion reaction, pjypfy=0.00, rs=0, * pjzyts=0.00, czydm=0037, lx=0, zssl=0.00}, {pjzyfy=5186.12, * xh=05, zzyl=0.00, mc=cesarean section rate, pjypfy=1611.05, rs = 13, pjzyts = 7,15, * czydm = 0037, lx = 13, zssl = 0,00}] */list estática pública <map <string, objeto >> getKeysAndValues (list <bjat> object) {list <pin, objet> list = objt: objtL); object); objeto (objeto) (objeto) {object); userCla = (classe) obj.getClass ();/* Obtenha todos os conjuntos de atributos na classe*/field [] fs = userrcla.getDecLaredFields (); map <string, object> listchild = new; iShmap <string, object> (); para (int i = 0; i <fs.lngthnEn; Propriedades a serem acessíveis objeto val = new Object (); tente {val = f.get (obj); // obtenha o valor desse propriedade listchild.put (f.getName (), val); // Defina o valor da chave} Catch (ilegalAccessException e) {E.PrintStackTrace ();} catch (ilegalaccessException e) {e) {E.PrintStackTrace ();}} list.add (listchild); // Adicione mapa ao listro de coleta} System.out.println ("Todos os valores -chave de múltiplos objetos (list) ====" + list.toString ()); Lista de retorno;}/** * O valor de uma chave de múltiplos objetos (list) objetos * * @param objeto * @param chave * @return list <ject> Todos os valores correspondentes à chave na lista são ex: as teclas são o campo MC no método acima. Os dados retornados são: [a incidência de úlceras por pressão em pacientes hospitalizados, * incidência de lesão no nascimento neonatal, parto vaginal lesão no nascimento materno, reação de transfusão sanguínea, taxa de seção cesariana] */list estática pública <BetValuesKeyKey (list <Object>, string) {list <jist> list = new Arraylist <list> para (object obj: objeto) {// obtenha a classe de objeto usercla = (classe) obj.getclass ();/* Obtenha todos os conjuntos de atributos na classe*/field [] fs = userCla.getDecaredFields (); para (int i = 0; i <fs.Length; 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) objetos ==== " + list.toString ()); Lista de retorno;}}Chamado:
List <ject> o =? Service.getAllList ();
// Teste de análise de reflexão Java
ReflexObjectUtil.GetKeyAndValue (O.get (0));
ReflexObjectutil.getValueByKey (O.Get (0), "MC");
ReflexObjectUtil.GetKeySandValues (O);
ReflexObjectUtil.GetValuesByKey (O, "MC");
Resumir
O exposto acima é o conteúdo inteiro deste artigo sobre o uso da reflexão por Java para obter o código do atributo e o código de valor de um objeto. Espero que seja útil para todos. Amigos interessados podem continuar se referindo a este site:
Tutorial de reflexão de Java
Mecanismo de reflexão Java compartilhamento de código
Coisas que você precisa saber sobre o mecanismo de reflexão Java
Se houver alguma falha, deixe uma mensagem para apontá -la. Obrigado amigos pelo seu apoio para este site!