credo che l'errore sia dovuto dal fatto che quando, in List, dichiari
protected Node head.
A node non passi il tipo, dovresti fare così:
codice:
...
public class List <A>
{
protected Node<A> head;
public List()
{
head = null;
}
...
e quando allochi con new devi fare la stessa cosa:
codice:
...
public void add(A el)
{
head = new Node<A>(el,head);
}
...
Quindi quando dichiarerai un oggetto list alla classe dovrai passare un tipo, per esempio:
codice:
...
List<String> l = new List<String>();
...
Anch'io non sono pratico delle novità di Java 5, se c'è qualcosa di sbagliato ci sono utenti già disinvolti con queste cose che magari faranno un salto nel thread.