질문:
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); } }
사용법:
aParam이라는 단일 매개변수가 있는 aMethod라는 메서드의 경우 getParameterNames 메서드는 ["aParam"]을 반환합니다.
추가 정보:
위 내용은 Java Reflection이 메소드 매개변수 이름을 검색할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!