Manoj,
el tipo de retorno de Arrays.List alguna aplicación interna desconocido de la interfaz de lista y no java.util.ArrayList, por lo que puede asignar sólo a un tipo de lista.
Si asigna a un ArrayList, por ejemplo, que le dará tiempo de compilación de error "No coinciden los tipos: no se puede convertir de la lista de ArrayList"
ArrayList<String> aList = Arrays.asList(a);// gives Compile time error
Desde el Javadoc "Arrays.asList Devuelve un fijo lista de tamaño respaldada por la matriz especificada. (Los cambios en la lista devuelta "escritura" en la matriz.) "eso significa que solo se le proporciona una vista de lista de la matriz que se crea IMO en tiempo de ejecución y, por supuesto, no puede cambiar el tamaño de una matriz por lo que no puede cambiar el tamaño de "Arrays.asList" también.
OMI la implementación interna de Arrays.asList tiene todos los métodos implementados que pueden cambiar el tamaño de la matriz como -
void add(E e)
{
//some unknown code
throw(java.lang.UnsupportedOperationException);
}
lo que cada vez se intenta alterar el tamaño de la matriz que arroja el UnsupportedOperationException.
Aún si desea agregar algunos elementos nuevos a una ArrayList utilizando dicha sintaxis, puede hacerlo creando una subclase de Arraylist (preferiblemente utilizando la subclase anónima de ArrayList). Puede pasar el tipo de retorno de Arrays.List al constructor de ArrayList, algo como esto (es decir, pública ArrayList (Collection c).) -
List<String> girlFriends = new java.util.ArrayList<String>(Arrays.asList("Rose", "Leena", "Kim", "Tina"));
girlFriends.add("Sarah");
Ahora puede agregar fácilmente a Sarah a su lista de GF utilizando el mismo sintaxis.
PD - Seleccione esta u otra como respuesta porque todo ha sido explicado. Su baja tasa de aceptación es muy desalentadora.
No importa lo que diga la gente. Importa lo que diga * Javadoc *. – EJP