Оберните его в метод, передайте тип как generic Class
и позвольте Java сделать все остальное за вас.Нет необходимости в каких-либо условных переходах.
<T> List<T> newList(Class<T> type) {
return new ArrayList<T>();
}
Тогда вы можете использовать его следующим образом:
List<String> list = newList(String.class);
Имейте в виду, что T
не обязательно указывать в Общий класс уровень.Вы можете указать универсальный тип для метода и, следовательно, сделать его универсальным методом , как в примере кода.