Поскольку это фактически не список строк, самый простой способ заключается в петлю над ним и преобразовать каждый элемент в новый список строк сам:
List<String> strings = list.stream()
.map(object -> Objects.toString(object, null))
.collect(Collectors.toList());
Или, когда вы не на Java 8 еще:
List<String> strings = new ArrayList<>(list.size());
for (Object object : list) {
strings.add(Objects.toString(object, null));
}
Или, когда вы не на Java 7 еще:
List<String> strings = new ArrayList<>(list.size());
for (Object object : list) {
strings.add(object != null ? object.toString() : null);
}
Обратите внимание, что вы должны декларировать против интерфейса (java.util.List
в этом случае), а не реализацию.
Почему вы хотите сделать это? Я имею в виду, что это не безопасно. Взгляните на пример. – athspk
Вы помещаете в строку не строки. Каково ваше ожидание того, что произойдет, если вы заставите их быть струнами? –
Я предполагаю, что вы имели в виду: ArrayList list2 = (ArrayList ); –