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

Rispondi quotando