문제:
매개변수를 허용하는 메소드가 있는 Java 클래스가 있는 경우, Java를 사용하여 매개변수의 이름과 유형을 어떻게 확인할 수 있습니까? 반사?
해결책:
Java 8 이상에서는 Parameter 클래스가 매개변수 이름에 대한 액세스를 제공합니다. 매개변수 정보를 얻으려면:
import java.lang.reflect.Method; import java.lang.reflect.Parameter; public class ParameterNames { public static void getParameterNames(Method method) { Parameter[] parameters = method.getParameters(); for (Parameter parameter : parameters) { System.out.printf("Parameter name: %s, Type: %s%n", parameter.getName(), parameter.getType().getName()); } } public static void main(String[] args) { try { Method method = Whatever.class.getMethod("aMethod", int.class); getParameterNames(method); } catch (NoSuchMethodException e) { e.printStackTrace(); } } public static class Whatever { public void aMethod(int aParam) { } } }
출력:
Parameter name: aParam, Type: int
중요 참고:
이 작업을 수행하려면 다음을 지정해야 합니다. -Java 코드를 컴파일할 때 매개변수 인수입니다. 예를 들어 Maven 사용자의 경우:
<configuration> <parameters>true</parameters> <compilerArgument>-parameters</compilerArgument> </configuration>
위 내용은 Java Reflection을 사용하여 메소드 매개변수 이름 및 유형을 얻는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!