Реверс для 'password_reset_confirm' с аргументами ключевого слова (за которым следует список аргументов) не найден

В Java 8 вы можете сделать следующее:

import java.lang.reflect.Method;
import java.lang.reflect.Parameter;
import java.util.ArrayList;
import java.util.List;

public final class Methods {

    public static List getParameterNames(Method method) {
        Parameter[] parameters = method.getParameters();
        List parameterNames = new ArrayList<>();

        for (Parameter parameter : parameters) {
            if(!parameter.isNamePresent()) {
                throw new IllegalArgumentException("Parameter names are not present!");
            }

            String parameterName = parameter.getName();
            parameterNames.add(parameterName);
        }

        return parameterNames;
    }

    private Methods(){}
}

Итак, для вашего класса Whatever мы можем выполнить ручной тест:

import java.lang.reflect.Method;

public class ManualTest {
    public static void main(String[] args) {
        Method[] declaredMethods = Whatever.class.getDeclaredMethods();

        for (Method declaredMethod : declaredMethods) {
            if (declaredMethod.getName().equals("aMethod")) {
                System.out.println(Methods.getParameterNames(declaredMethod));
                break;
            }
        }
    }
}

, который должен печатать [aParam], если вы передали аргумент -parameters вашему компилятору Java 8.

Для пользователей Maven:


    
    3.1

    
    1.8



    
        
            org.apache.maven.plugins
            maven-compiler-plugin
            ${maven-compiler-plugin.version}
            
                
                -parameters
                
                true
                -parameters
                ${java.version}
                ${java.version}
            
        
    

Для получения дополнительной информации см. следующие ссылки:

  1. Официальное руководство по Java: получение имен параметров метода
  2. JEP 118: доступ к именам параметров во время выполнения
  3. Javadoc для класса параметра

0
задан Alisa Darya 18 January 2019 в 13:24
поделиться