A voir également:
- Question sur l'interface comparable en java
- Waptrick java football - Télécharger - Jeux vidéo
- Jeux java itel football - Télécharger - Jeux vidéo
- Java apk - Télécharger - Langages
- Waptrick java voiture - Télécharger - Jeux vidéo
- Java décompiler - Télécharger - Langages
1 réponse
KX
Messages postés
16760
Date d'inscription
samedi 31 mai 2008
Statut
Modérateur
Dernière intervention
12 février 2025
3 020
8 nov. 2012 à 12:25
8 nov. 2012 à 12:25
val est un Object, mais tu utilises la méthode compareTo qui n'existe pas dans Object, donc ton code ne marchera que si val est un objet bien particulier qui possède la méthode compareTo, c'est à dire qui implémente Comparable. Donc ce que tu fais ici, c'est que tu précises que val est un Comparable, ce qui fera ce que tu veux si c'est bien un Comparable, mais plantera en général.
En fait le mieux ce serait d'écrire recherchePréfixé(Comparable val, Arbre b), comme ça il n'y aurait plus de problème, mais quand on manipule les arbres on est en général beaucoup plus précis en faisant des trucs comme recherchePréfixé(T val, Arbre<T> b), avec T qui implémente Comparable<T>, mais je ne sais pas si tu as déjà vu ça.
En fait le mieux ce serait d'écrire recherchePréfixé(Comparable val, Arbre b), comme ça il n'y aurait plus de problème, mais quand on manipule les arbres on est en général beaucoup plus précis en faisant des trucs comme recherchePréfixé(T val, Arbre<T> b), avec T qui implémente Comparable<T>, mais je ne sais pas si tu as déjà vu ça.
8 nov. 2012 à 13:33
8 nov. 2012 à 14:24
La déclaration de ta classe Arbre devrait donc être un peu plus compliquée, mais ça permet d'être plus rigoureux dans l'utilisation des données.
Remarque : recherchePréfixé devrait s'appliquer sur l'arbre courant this, et pas sur l'arbre b passé en paramètre, ou alors la méthode doit être déclarée static (puisque this n'est pas utilisée).
8 nov. 2012 à 14:36
8 nov. 2012 à 15:13