sto giocando con Generico e gli array, sembra che il seguente codice compila bene,Array di elenco generico
ArrayList<Key> a = new ArrayList<Key>();
Ma il compilatore si lamenta di questo,
ArrayList<Key>[] a = new ArrayList<Key>[10];
Con la lettura di posta in StackOverflow , In qualche modo capisco che ciò è dovuto a Type Erasure e posso correggerlo usando,
ArrayList<Key>[] a = (ArrayList<Key> []) new ArrayList[10];
o elenco di Lista
ArrayList<ArrayList<Key>> b = new ArrayList<ArrayList<Key>>();
Ma io non riesco a capire il motivo dietro la scena. Soprattutto, perché il secondo è illegale, dato che il primo è perfettamente OK. E perché il compilatore non si lamenta della lista di lista.
http://stackoverflow.com/questions/217065/cannot-create-an-array-of-linkedlists-in-java – tcb