jueves, 31 de enero de 2013

removeAll UnsupportedOperationException

Hoy jugando con listas que venían de arrays de String, al ejecutar la siguiente linea me retornaba UnsupportedOperationException
lista.removeAll(otralista);
El problema es que para generar las listas estaba usando esto:
List<String> lista = Arrays.asList(array);
Este metodo, aunque retorna una lista, es una lista estatica, que no permite ni añadir ni borrar elementos, por lo que al usar el removeAll petaba.

¿La solucion? Segun este post de stackoverflow, pasa por crear una nueva lista usando como parámetro de constructor el resultado de asList()
List<String> lista = new LinkedList<String>(Arrays.asList(array));

No hay comentarios:

Publicar un comentario