Baru -baru ini, karena modul yang bertanggung jawab untuk proyek, ada banyak kategori di bawah modul ini, dan setiap kategori memiliki kode yang dikodekan, dan nilai ini dilakukan sebagai parameter. Tetapi setiap kode tidak sesuai dengan suatu metode.
Ada banyak nilai kode, dan saya tidak ingin membuat ifelse atau beralih penilaian, jadi saya mencari informasi, yang terutama membuat saya menemukan bahwa menggunakan mekanisme refleksi Java dapat dengan sempurna menyelesaikan masalah ini
Kode tes adalah sebagai berikut: (Dapat membawa beberapa parameter)
Paket com.escs.xmlutils; import java.lang.reflect.method; tes kelas publik {public string ceshi () {System.out.println ("11111111111111"); return "Success";} public static void (String [] args) melempar pengecualian {// Class.forname ("com.escs.xmlutils.test"); objek obj = c.newinstance (); // Parameter pertama ditulis sebagai nama metode, metode kedua/ketiga/... ini ditulis sebagai jenis parameter dalam metode parameter metode = c. (String) method.invoke (obj, objek baru [] {"myName", 4}); System.out.println (str2); } public string ceshi (string str) {// for (int j = 0; j <integer.valueof (i); j ++) {System.out.println (str); //} return str; } public string ceshi2 (string str, int i) {for (int j = 0; j <i; j ++) {System.out.println (str+"22222"); } return str; }} Ini akan membuatnya lebih mudah jika nama metode disambung secara dinamis. Misalnya, nilai kode saya memiliki 100, 1 ~ 100, dan metode kode saya adalah returnCodelist (); Saat ini, kami mengekstrak metode di atas dan mengembalikan nilai yang kami butuhkan, misalnya:
Penggemar Public Stringhe (string methodName, string className) melempar classnotfoundException, SecurityException, nosuchmethodeException, InstantiationException, IllegalAccessException, IllegalArargumentException, Class = classname (classnome (// tuliskan nama kelas Anda sendiri di dalamnya <? C.NewInstance (); // Parameter pertama adalah nama metode, yang kedua/ketiga/... Tulis jenis parameter dalam metode daftar parameter metode metode = c.getMethod (methodName, string.class, int.class); // menggunakan metode ini dan membawa nilai parameter {"myname) (string) Method. }Tentu saja, dalam kebutuhan aktual, Anda masih perlu menarik metode sendiri sesuai dengan kebutuhan proyek. Saya harap ini akan membantu semua orang.
Contoh metode eksekusi dinamis di atas nama metode splicing refleksi java adalah seluruh konten yang dibagikan oleh editor. Saya harap ini dapat memberi Anda referensi dan saya harap Anda dapat mendukung wulin.com lebih lanjut.