Originariamente inviato da Darčios89
Errore:
codice:
cannot find symbol
symbol  : method compareTo(E)
location: class java.lang.Object
				if(tmp.getElement().compareTo(nodo.getElement())<0)
Spero mi chiariate le cose, ne ho davvero bisogno, grazie.
La questione č questa:

Quel tmp č un BSTNode<E>. Il getElement() su questo BSTNode restituisce appunto un E.
Ora ... E č un tipo che ha compareTo (presumibilmente implementando Comparable)?? Non possiamo saperlo (perché č un "segnaposto") e non lo puņ "sapere" il compilatore. A meno, ovviamente, di cambiare la parametrizzazione in modo che a livello di compilazione E sia "ristretto" a solo oggetti che implementano Comparable e che quindi hanno un compareTo.

Se non vuoi/puoi scegliere questa soluzione che lavora a livello di compilazione, puoi scegliere la soluzione a "runtime". Fai un cast a Comparable dell'oggetto che fornisce tmp.getElement().

Ma ..... č a runtime! Sei poi sicuro che l'oggetto davvero implementa Comparable? Altrimenti avresti ClassCastException ... a runtime!

Ti č pił chiara la questione?