Je sais que compareTo
retourne un résultat négatif ou positif sur la façon dont une chaîne est en corrélation avec l'autre, mais alors pourquoi:Comment fonctionne la fonction de comparaison?
public class Test {
public static void main(String[] args) {
String y = "ab2";
if(y.compareTo("ac3") == -1) {
System.out.println("Test");
}
}
}
est vrai et
public class Test {
public static void main(String[] args) {
String y = "ab2";
if(y.compareTo("ab3") == -1) {
System.out.println("Test");
}
}
}
est également vrai?
N'utilisez pas '== - 1' mais' <0'. Notez que '" ab2 ".compareTo (" cb2 ")' renvoie -2, tout comme '" ab2 ".compareTo (" ab4 ")' (le résultat est différent dans Unicode Table de caractères qui sont différents dans les index de chaînes - si longueur des chaînes est la même). – Pshemo
La comparaison utilisant 'compareTo' n'utilise pas de corrélation: la corrélation est une propriété symétrique, alors que' compareTo' est (ou devrait être) anti-symétrique, au moins dans le sens où 'sign (a.compareTo (b)) = -sign (b.compareTo (a)) '. –