Originariamente inviato da fabbio86
Add è un metodo che ho scritto io. Appartiene alla classe DouLinkList così definita:

public class DouLinList<T extends Comparable<T>> implements lista<T>

L'interfaccia è invece:

interface lista<T extends Comparable<T>>
...
void addFirst(T val);
...
Ok, però ti faccio notare alcune cose.

Se usi i generics, allora quando definisci una variabile di tipo DouLinList, devi specificare una istanziazione (concreta o wildcard) della classe generica.

Se fai:
DouLinList<String> list = .....

allora è chiaro che potrai inserire nella lista solo degli oggetti String. Insomma ... non vedo il problema. Dipende da cosa hai scritto (che non l'hai specificato).

Poi un'altra cosa su Comparable. Non mi è chiaro il perché hai dovuto limitare il tipo della lista in modo che sia un Comparable. Le classi collection nel framework di Java non hanno questa limitazione. Cioè, normalmente non è necessaria. In altri termini: perché non vuoi poter avere una lista di elementi non comparabili??? (non c'è nulla di male in questo ... vorrei saperlo anche solo per mia curiosità).

Se poi devi proprio limitare ai tipi Comparable, allora sappi che la dichiarazione che hai scritto è un pochino ristretta. La forma più "ampia" è:

<T extends Comparable<? super T>>