public int compareTo(Person p) {
int res = 1;
String personStr = p.getId();
String thisId = this.getId();
if(thisId.equals(personStr)){
res = 0;
}
else if(thisId.compareTo(personStr)){
res = -1;
}
return res;
}
Une méthode relativement simple compareTo que j'ai implémentée mais je n'obtiens pas le message d'erreur. La condition dans l'autre si statemint me donne un message disant qu'il ne peut pas convertir d'int en booléen. Je comprends, mais la chose est que j'utilise netiher. Je veux juste comparer 2 cordes simples, pourquoi cela arrive-t-il?Java CompareTo états de méthode Je ne peux pas convertir int en booléen même si aucun n'est utilisé
Ah, maintenant je comprends ... * palmslap. Été une longue journée. Je viens de mettre thisId.compareTo (personStr) == -1) {... et cela a bien fonctionné. – Baxtex
Nous les avons tous, ne vous inquiétez pas. –
@Baxtex il serait préférable d'utiliser 'thisId.compareTo (personStr) <0' - en théorie compareTo pourrait renvoyer autre chose que -1, 0 ou 1 - disons -5 par exemple. – assylias