Rumah >Java >javaTutorial >Bolehkah Java Reflection Mendapatkan Nama Parameter Kaedah?
Soalan:
Bolehkah Java reflection memberikan maklumat tentang parameter kaedah nama?
Jawapan:
Ya, Java 8 memperkenalkan keupayaan untuk mendapatkan nama parameter kaedah menggunakan refleksi.
Pelaksanaan:
import java.lang.reflect.Method; import java.lang.reflect.Parameter; import java.util.ArrayList; import java.util.List; public class ParameterNames { public static List<String> getParameterNames(Method method) { if (!method.isParameterNamesPresent()) { throw new IllegalArgumentException("Parameter names are not present!"); } Parameter[] parameters = method.getParameters(); List<String> parameterNames = new ArrayList<>(); for (Parameter parameter : parameters) { parameterNames.add(parameter.getName()); } return parameterNames; } // For testing public static void main(String[] args) throws Exception { Method getParameterNamesMethod = ParameterNames.class.getMethod("getParameterNames", Method.class); List<String> parameterNames = getParameterNames(getParameterNamesMethod); System.out.println("Method parameter names: " + parameterNames); } }
Penggunaan:
Untuk kaedah bernama aMethod dengan parameter tunggal bernama aParam , kaedah getParameterNames akan kembali ["aParam"].
Maklumat Tambahan:
Atas ialah kandungan terperinci Bolehkah Java Reflection Mendapatkan Nama Parameter Kaedah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!