Как объявить список с именем класса в строке. Например, у меня есть переменная className с именем класса. Мне нужно создать List с типом в переменной className.Generics List with string classname
String className ="com.foo.Foo";
Можно ли иметь список, который оказывает тот же результат
List<Foo> fooList = new ArrayList<Foo>();
, не зная тип во время объявления.
Многостраничный вопрос: * Как объявить список с именем класса в строке *: вы можете посмотреть в загрузчик классов, иначе это не способ сделать это. * Возможно ли иметь список, который имеет тот же результат *: Да, это: просто используйте «Список fooList = new ArrayList();» и приведите результаты при доступе к списку (теперь это всего лишь список (unchecked) Объекты) –
Звучит неправильно. Я могу предположить, что есть метод, использующий отражение, но как вы будете использовать этот список? Как вы будете работать в своем коде с чем-то неизвестного типа? –
Java использует [Тип Erasure] (https://docs.oracle.com/javase/tutorial/java/generics/erasure.html). Во время выполнения типичные типы отсутствуют, поэтому ... почему бы не создать «Список