Petite question "compareto"
Résolu
alexp23
Messages postés
88
Date d'inscription
Statut
Membre
Dernière intervention
-
alexp23 Messages postés 88 Date d'inscription Statut Membre Dernière intervention -
alexp23 Messages postés 88 Date d'inscription Statut Membre Dernière intervention -
Bonjour, j'ai une petite question, dans ma formation java on m'a appris que dans les comparaisons "compareto" il faut mettre exemple.compareTo(exemple2) == 0,
le == 0 signifie quoi ? Dans un devoir j'avais une erreur et après 2 heures, j'ai remplacé == 0 par == 1 (dans une boucle while je crois) et miracle, le programme fonctionne ... sauf que j'aimerais bien comprendre ;) Merci d'avance !
le == 0 signifie quoi ? Dans un devoir j'avais une erreur et après 2 heures, j'ai remplacé == 0 par == 1 (dans une boucle while je crois) et miracle, le programme fonctionne ... sauf que j'aimerais bien comprendre ;) Merci d'avance !
A voir également:
- Petite question "compareto"
- Petite amie virtuelle en français gratuit - Accueil - Intelligence artificielle
- Petite croix snap - Forum Snapchat
- Petite majuscule word ✓ - Forum Word
- Mettre en petites majuscules - Forum Bureautique
- Petite majuscule Word ✓ - Forum MacOS
2 réponses
compareTo permet de connaître l'ordre relatif entre deux objets.
Si a.compareTo(b) < 0 alors "a < b"
Si a.compareTo(b) = 0 alors "a = b"
Si a.compareTo(b) > 0 alors "a > b"
Attention : je parle d'ordre au sens mathématique, en Java ça n'a pas de sens de faire a < b sur autre chose que des nombres.
Exemple :
"abc".compareTo("xyz") < 0
"xyz".compareTo("abc") > 0
"abc".compareTo("abc") = 0
Attention : on ne peux pas (sauf regarder le code source) savoir quelle sera la valeur exacte renvoyée si ce n'est pas 0. Ton égalité ==1 serait fausse en générale, il faut la remplacer par >0 pour être correct.
Remarque : si a.compareTo(b) = 0, cela ne signifie pas pour autant que a.equals(b)
Si a.compareTo(b) < 0 alors "a < b"
Si a.compareTo(b) = 0 alors "a = b"
Si a.compareTo(b) > 0 alors "a > b"
Attention : je parle d'ordre au sens mathématique, en Java ça n'a pas de sens de faire a < b sur autre chose que des nombres.
Exemple :
"abc".compareTo("xyz") < 0
"xyz".compareTo("abc") > 0
"abc".compareTo("abc") = 0
Attention : on ne peux pas (sauf regarder le code source) savoir quelle sera la valeur exacte renvoyée si ce n'est pas 0. Ton égalité ==1 serait fausse en générale, il faut la remplacer par >0 pour être correct.
Remarque : si a.compareTo(b) = 0, cela ne signifie pas pour autant que a.equals(b)