Решение для динамического типа переменной в Java - PullRequest
0 голосов
/ 09 апреля 2019

Каков наилучший подход к этому сценарию.Конструктор метода Helper будет иметь различные типы в зависимости от методов контроллера, вызывающих метод Helper.Таким образом, getMethodOne вызывает вспомогательный метод и предоставляет аргумент типа typeone.Однако универсальный тип List метода Helper выдает неизвестную ошибку класса.

@RequestMapping(value = "/methodOne", method = RequestMethod.GET)
public List<?> getMethodOne(){

    return Helper(typeone);
}

@RequestMapping(value = "/methodTwo", method = RequestMethod.GET)
public List<?> getMethodTwo(){

    return Helper(typetwo);
}


private List<?> Helper(type){
    // type in List<type> - gives unknown class error
    new List<type> someObject = new ArrayList<type>();

    return someObject;
}

Я пробовал интерфейс IType, который реализуется объектами typeone и typetwo, а затем в вспомогательном методе обновил аргумент следующим образом

    private List<Itype> Helper(IType type){

    new List<type> someObject = new ArrayList<type>();

    return someObject;
}

1 Ответ

1 голос
/ 09 апреля 2019

Это должно быть больше похоже на

private <T> List<T> Helper(Clazz<T> clazz){ // if you need that at all here
    List<T> someObject = new ArrayList<T>();

    return someObject;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...