Такой код не работает:
public static <T> void doSomething(Class clazz) {
List<clazz> list = new ArrayList<>();
}
Как можно положить в generic-тип переменную ?
Обычно это делается так:
public static <T> void doSomething(Class<T> clazz) {
List<T> list = new ArrayList<>();
}
Ещё можно передать не класс, а представителя:
public static <T> void doSomething(T t)
List<T> list = new ArrayList<>();
}
Создать объект нужного класса можно с помощью reflection.
Сборка персонального компьютера от Artline: умный выбор для современных пользователей