Arrays.asList
возвращает вам неизменный список, следовательно, UnsupportedOperationException
при добавлении. Вот javadoc и вот что он говорит:
Возвращает список фиксированного размера , поддерживаемый указанным массивом.(Изменения в возвращаемом списке «сквозная запись» в массив.) Этот метод действует как мост между API на основе массива и на основе коллекции в сочетании с Collection.toArray ().Возвращенный список является сериализуемым и реализует RandomAccess.
Для вашего случая вы можете фактически сделать это без какого-либо цикла со следующей строкой (то есть с помощью конструктора):
List<String> temp = new ArrayList(origin);
Обновление
Если вы хотите отформатировать, вы можете повторить и применить формат, например:
List<String> temp = new ArrayList<>();
for(String element : origin) {
String formattedElement = format(element);
temp.add(formattedElement);
}
Вот способ Java 8:
List<String> temp = origin.stream()
.map(e -> format(e))
.collect(Collectors.toList());