問題:
Java 反射可以提供有關方法參數名稱的資訊嗎?
答案:
是的,Java 8 引入了使用反射獲取方法參數名稱的功能。
實作:
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); } }
用法:
對於名為aMethod 且具有單一名為aParam 的參數的方法,getParameterNames 方法將會傳回["aParam"]。
其他資訊:
以上是Java反射可以檢索方法參數名稱嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!