En java, la méthode compareTo() est utilisée pour comparer l'objet Number avec les paramètres de la méthode. Le format de syntaxe est "variable 1.compareTo (variable 2)" ; la première position de la valeur Compare, si des caractères différents sont rencontrés, renvoie la différence entre les valeurs ASCII des deux caractères.
L'environnement d'exploitation de ce tutoriel : système Windows 7, version Java 8, ordinateur DELL G3.
la méthode compareTo() est utilisée pour comparer un objet Number avec les paramètres de la méthode. Peut être utilisé pour comparer Octet, Long, Entier, etc. La méthode
compareTo commence la comparaison à partir du premier bit Si elle rencontre des caractères différents, elle renvoie immédiatement la différence des valeurs ASCII des deux caractères. La valeur de retour est de type int
. Exemple
1 Renvoie la différence entre les codes ASC des deux chaînes avant et après la comparaison, si la première. les lettres des deux chaînes sont différentes, alors cette méthode renvoie la différence entre les codes ASC de la première lettre
String a1 = "a"; String a2 = "c"; System.out.println(a1.compareTo(a2));//结果为-2
2. c'est-à-dire, si les deux chaînes participant à la comparaison en premier Si les caractères sont identiques, comparez le caractère suivant jusqu'à ce qu'il y ait une différence, et renvoyez la différence de code ASC des différents caractères,
String a1 = "aa"; String a2 = "ad"; System.out.println(a1.compareTo(a2));//结果为-3
3. Si les deux chaînes n'ont pas la même longueur et que les caractères pouvant être comparés sont exactement les mêmes, la différence de longueur des deux chaînes sera renvoyée
String a1 = "aa"; String a2 = "aa12345678"; System.out.println(a1.compareTo(a2));//结果为-8
4. Renvoyer un nombre positif signifie a1>a2, renvoyer un nombre négatif signifie a1
5. Les types numériques ne peuvent pas être utilisés avec compareTo , nt et int ne peuvent pas être comparés en utilisant la méthode compareTo, utilise directement supérieur à (>) inférieur à (<) ou égal à (==) n'est pas égal à (! =) comparez simplement
int num1 = 4; int num2 = 5; num1.compareTo(num2);//Cannot invoke compareTo(int) on the primitive type int
Vous pouvez d'abord convertir votre variable de type int en String puis comparer
int num1 = 4; int num2 = 5; //parse int to String System.out.println((num1+"").compareTo(num2+""));//-1 System.out.println(new Integer(num1).toString(). compareTo(new Integer(num2).toString()));//-1 System.out.println(String.valueOf(num1).compareTo(String.valueOf(num2)));//-1
6.compareToIgnoreCase ignore la casse
Compare deux chaînes dans l'ordre lexicographique indépendamment de cas. Cette méthode renvoie un entier dont le signe est le signe de l'appel à compareTo en utilisant une version normalisée de la chaîne dont les différences de casse ont été résolues en appelant Character.toLowerCase(Character.toUpperCase(character) pour chaque caractère) ) peut être éliminée.
Notez que cette méthode ne prend pas en compte les paramètres régionaux et peut donc produire un classement sous-optimal dans certains paramètres régionaux spécifiques. Le package java.text fournit des Collators pour effectuer un tri en fonction des paramètres régionaux.
7. Les types Int peuvent être comparés directement, donc la comparaison compareTo n'est pas utilisée. Si la déclaration est Date, String, Integer ou autre, vous pouvez directement utiliser la comparaison compareTo, <🎜. >
Integer n1 = 5; Integer n2 = 6; System.out.println(n1.compareTo(n2));//-1
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!