Saat Anda melihat refleksi, catat. Objek refleksi saat ini harus memiliki objek, yaitu, entitas kacang.
Referensi: Java Refleksi Tutorial Sederhana
Impor java.lang.reflect.field; import java.util.arraylist; import java.util.hashmap; import java.util.list; java.util.map;/** * mencerminkan @public nilai -nilai * * @Author Liulinsen * */Public Class untuk mendapatkan nilai atribut di dalam * * @Author liulinsen * */Public Class untuk mendapatkan nilai atribut di dalam * * @Author liulinsen * */Public Class untuk mendapatkan nilai atribut di dalam * * @Author liulinsen * */Public Class untuk mendapatkan nilai atribut di dalam * * @Author liulinsen * */Public Class Objek * Objek Tunggal * * @Return Map <String, Object> Peta Semua Kunci String Nilai Objek Kel: Map<String, Object> getKeyAndValue(Object obj) {Map<String, Object> map = new HashMap<String, Object>();// Get the class object Class userCla = (Class) obj.getClass();/* Get all attribute sets in the class*/Field[] fs = userCla.getDeclaredFields();for (int i = 0; i < fs.length; i++) {Field f = fs [i]; f.setAccessible (true); // Tetapkan beberapa properti menjadi objek yang dapat diakses val = objek baru (); coba {val = f.get (obj); // Dapatkan nilai peta properti ini. e) {E.PrintStackTrace ();}/ * * string type = f.getType (). ToString (); // Dapatkan jenis properti ini jika * (type.endswith ("string")) { * System.out.println (f.getType ()+"/t is string"); f.set (obj, "12"); * // Atur nilai untuk properti} else if (type.endswith ("int") || * type.endswith ("integer")) { * system.out.println (f.getType ()+"/t is int"); f.set (obj, 12); // Atur nilai untuk properti*} else {System.out.println (f.getType ()+"/t"); } */} System.out.println ("Semua nilai kunci dari satu objek == refleksi ==" + peta.toString ()); peta pengembalian;}/** * nilai kunci objek tunggal * * @param objek * * @param Key * Kunci * @Return Objek Nilai yang sesuai dari Kunci dari Kunci dalam Objek Tidak Ditemukan * @param Key * Kunci * @Return Objek yang sesuai dari Kunci dari Kunci dalam Objek Tidak Ditemukan * @param Kunci * kelas objek kelas usercla = (kelas) obj.getClass ();/* Dapatkan semua set atribut di kelas*/field [] fs = usercla.getDeclaredFields (); for (int i = 0; i <fs.length; i ++) {field f = fs [i]; f.setaccible (true); (f.getName (). endswith (key)) {System.out.println ("Nilai kunci dari objek tunggal == refleksi ==" + f.get (obj)); return f.get (obj);}} catch (IllegalArgumentException E) {e.printstack ();};}};}} {e.printrace ();};};}} {e.printrace (); {E.PrintStackTrace ();}} // mengembalikan string kosong saat tidak ditemukan kembali "";}/** * Semua nilai utama dari beberapa objek (daftar) * * @param objek * @return Daftar <peta <string, objek >> Semua nilai utama dari semua objek dalam daftar: [{pjzyfy = 0.00, xh = 01, * zzyl. pjypfy = 0,00, rs = 0, pjzyts = 0,00, * czydm = 0037, lx = 921, zssl = 0,00}, {pjzyfy = 0,00, xh = 02, zzyl = 0,00, * MC = Insiden cedera neonatal, pjypfy = 0,00 = 0,00, pjzys, pjypfy = 0,00, pjypfy = 0,00, PJYPFY = 0,00, czydm = 0037, lx = 13, * zssl = 0,00}, {pjzyfy = 0,00, xh = 03, zzyl = 0,00, mc = kejadian pengiriman vagina, * pjypfy = 0,00, rs = 0, pjzyts = 0,00, czydm = 0037, lx = 0, pjzyts = 0,00, czydm = 0037, lx = 0, pjzyts = 0,00, czydm = 0037, lx = 0, pjzyts = 0,00, czydm = 0037, lx = 0, pjzyts = 0,00, CZYDM = 0037, LX = 0, PJZYTS = 0,00, CZYDM = 0037, LX = 0, LX = 0, CZYDM = 0037, LX = 0.00, CZYDM = 0037, LX = 0.00, CZYDM = 0037, LX = 0 {pjzyfy = 0,00, xh = 04, zzyl = 0,75, mc = kejadian reaksi transfusi darah, pjypfy = 0,00, rs = 0, * pjzyts = 0,00, czydm = 0037, lx = 0, zssl = 0,00}, {pjzyfy = 518.10.2, zssl = 0,00}, {pjzyfy = 518.18.12.1 mc = tingkat bagian sesar, pjypfy = 1611.05, rs = 13, pjzyts = 7.15, * czydm = 0037, lx = 13, zssl = 0.00}] */daftar statis publik <peta <string, objek> geteydvalues (daftar <Object> <Object> Daftar <MAP <String, Object> Object>>();for (Object obj : object) {Class userCla;// Get the class object userCla = (Class) obj.getClass();/* Get all attribute sets in the class*/Field[] fs = userCla.getDeclaredFields();Map<String, Object> listChild = new HashMap<String, Object>();for (int i = 0; i < fs.length; i++) {Field f = fs [i]; f.setAccessible (true); // Tetapkan beberapa properti menjadi objek yang dapat diakses val = objek baru (); coba {val = f.get (obj); // Dapatkan nilai properti ini listchild.put (f.getname (), val); // atur nilai utama} catch (IllegalArgumument; (IllegalAccessException e) {e.printstacktrace ();}} list.add (listChild); // Tambahkan peta ke koleksi daftar} System.out.println ("Semua nilai kunci dari beberapa (daftar) objek ====" + list.toString ()); Daftar pengembalian;}/** * Nilai kunci dari beberapa objek (daftar) * * @param objek * @param Key * @Return Daftar <POBPEN> Semua nilai yang sesuai dengan kunci dalam daftar adalah mis: tombol adalah bidang MC dalam metode di atas. Data yang dikembalikan adalah: [Insiden ulkus tekanan pada pasien yang dirawat di rumah sakit, * insiden cedera kelahiran neonatal, cedera kelahiran ibu vagina, reaksi transfusi darah, tingkat operasi caesar] */Daftar statis publik <Object> GetValuesByKey (Daftar <Object> Object, String Key) {Daftar <Object> Daftar = Arraylist baru <objek> Objek> Objek; untuk (objek obj: objek) {// Dapatkan kelas kelas class usercla = (class) obj.getClass ();/* Dapatkan semua set atribut di kelas*/bidang [] fs = usercla.getDeclaredFields (fs fs (int i = 0; i <fs.length; i ++) {field f = fs [i]; {if (f.getName (). endswith (key)) {list.add (f.get (obj));}} catch (IllegalArgumentException e) {e.printStackTrace ();} list (IllegalAccessException E) {e.printstackTrace ();}}}}} {e.printstack (); objek ==== " + list.toString ()); daftar kembali;}}Ditelepon:
Daftar <Peject> o =? Service.getAlllist ();
// Tes Analisis Refleksi Java
ReflexObjectutil.getKeyAndValue (o.get (0));
ReflexObjectutil.getValueByKey (o.get (0), "mc");
ReflexObjectutil.getKeySandValues (O);
ReflexObjectutil.getValuesBykey (O, "MC");
Meringkaskan
Di atas adalah seluruh konten artikel ini tentang penggunaan refleksi Java untuk mendapatkan Atribut dan kode kode nilai suatu objek. Saya harap ini akan membantu semua orang. Teman yang tertarik dapat terus merujuk ke situs ini:
Tutorial Refleksi Java
Mekanisme Refleksi Java Contoh berbagi kode
Hal -hal yang perlu Anda ketahui tentang mekanisme refleksi java
Jika ada kekurangan, silakan tinggalkan pesan untuk menunjukkannya. Terima kasih teman atas dukungan Anda untuk situs ini!