Il warning te lo da perchè utilizzi LinkedList senza parametrizzarlo. Dovresti utilizzarlo in maniera simile
codice:
LinkedList<Utente> lista;
public SincLista(LinkedList<Utente> lista) {
this.lista = lista;
}
Un'altra cosa. Sicuro di voler utilizzare la stessa lista sia per gli utenti che per le stanze della chat? Non sarebbe meglio tenere separate le due collezioni? Tipo così:
codice:
LinkedList<Utente> listaUtenti;
LinkedList<Stanza> listaStanze;
L'esempio che hai postato garantisce la mutua esclusione sui singoli metodi.
Personalmente, comunque, mi aiuta chiedermi "cosa possono fare due utenti contemporaneamente senza che si pestino i piedi?". Ad esempio, getLista (o meglio, per come la vedo io getListaUtenti) non dovrebbe essere sincronizzata, perchè la lettura simultanea non dovrebbe crearti problemi, anzi ti evita che il secondo aspetti il primo.