Я столкнулся с чем-то, с чем раньше не сталкивался в Java, а именно: мне нужно создать новый экземпляр, скажем, класса ArrayList во время выполнения без назначения известного типа, а затем добавить данные в список. Звучит немного расплывчато, поэтому вот пример:
Class<?> c = i.getClass();
Constructor<?> con = ArrayList.class.getConstructor();
ArrayList<?> al = (ArrayList<?>)con.newInstance();
al.add("something");
Теперь причина, по которой я делаю это, а не просто использую дженерики, заключается в том, что дженерики уже широко используются, и переменная «i» в этом примере будет задана для использования как тип «?». Я действительно предпочел бы не добавлять еще один дженерик, так как это потребовало бы дополнительной работы для пользователя и было бы гораздо менее гибким в конечном дизайне. Есть ли способ использовать что-то вроде ниже (Примечание: то, что ниже, не работает). У кого-нибудь есть идеи?
ArrayList<c> al = (ArrayList<c>)con.newInstance();
ArrayList. - person Bala R   schedule 29.06.2011