Manoj,
il tipo di ritorno di Arrays.List qualche sconosciuta implementazione interna dell'interfaccia List e non java.util.ArrayList, in modo da poter assegnare solo un tipo di elenco.
Se si assegna a un ArrayList per esempio che vi darà tempo di compilazione errore "Tipo non corrispondente: non è possibile convertire da List a ArrayList"
ArrayList<String> aList = Arrays.asList(a);// gives Compile time error
Dal Javadoc "Arrays.asList Restituisce un fisso elenco delle dimensioni supportato dall'array specificato. (Le modifiche all'elenco restituito "write through" all'array.) "significa che viene fornita solo una visualizzazione elenco della matrice che viene creata IMO in fase di runtime e naturalmente non è possibile modificare la dimensione di un array in modo da non poter cambiare anche la dimensione di "Arrays.asList".
IMO l'implementazione interna di Arrays.asList ha tutti i metodi implementati che possono cambiare la dimensione della matrice come -
void add(E e)
{
//some unknown code
throw(java.lang.UnsupportedOperationException);
}
così ogni volta che si tenta di modificare la dimensione della matrice si getta l'UnsupportedOperationException.
Ancora se si desidera aggiungere alcuni nuovi elementi a un ArrayList utilizzando una sintassi, è possibile farlo con la creazione di una sottoclasse di Arraylist (preferibilmente utilizzando sottoclasse anonima di ArrayList). È possibile passare il tipo di ritorno di Arrays.List al costruttore di ArrayList, qualcosa di simile (cioè pubblica ArrayList (Collection c).) -
List<String> girlFriends = new java.util.ArrayList<String>(Arrays.asList("Rose", "Leena", "Kim", "Tina"));
girlFriends.add("Sarah");
Ora si può facilmente aggiungere alla vostra lista Sarah GF utilizzando lo stesso sintassi.
PS: selezionare questa o l'altra come risposta perché tutto è stato spiegato. Il tuo basso tasso di accettazione è molto scoraggiante.
Non importa cosa "dicono". Importa ciò che dice * Javadoc *. – EJP