Можно ли преобразовать:Преобразование родовой ArrayList
ArrayList<?> objects;
к ArrayList<String>()
, если вы знаете, objects
только содержит строки?
Можно ли преобразовать:Преобразование родовой ArrayList
ArrayList<?> objects;
к ArrayList<String>()
, если вы знаете, objects
только содержит строки?
Да; просто бросьте его.
Вы получите предупреждение о компиляции, потому что хотя вы знаете, что компилятор этого не делает.
Остерегайтесь того, что если кто-то добавит какой-либо другой класс в список после его броска, вы получите исключения при попытке использовать его.
Это относится только к типу стирания.
ArrayList<?> anonymList = null;
ArrayList<String> strings = (ArrayList<String>) anonymList;