In java, the compareTo() method is used to compare the Number object with the parameters of the method. The syntax format is "variable 1.compareTo(variable 2)"; the compareTo() method starts from the first position of the value. Compare, if different characters are encountered, return the difference in ASCII values of the two characters.
The operating environment of this tutorial: windows7 system, java8 version, DELL G3 computer.
compareTo() method is used to compare a Number object with the parameters of the method. Can be used to compare Byte, Long, Integer, etc.
The compareTo method starts comparing from the first character. If it encounters different characters, it immediately returns the difference in ASCII values of the two characters. The return value is of type int
Example
#1. Return the difference between the ASC codes of the two strings before and after the comparison, If the first letters of the two strings are different , then this method returns the difference value of the ASC code of the first letter
String a1 = "a"; String a2 = "c"; System.out.println(a1.compareTo(a2));//结果为-2
2. That is, if the two strings participating in the comparison first If the characters are the same, compare the next character until there is a difference, and return the ASC code difference of the different characters,
String a1 = "aa"; String a2 = "ad"; System.out.println(a1.compareTo(a2));//结果为-3
3. If the two strings are not the same length and the characters that can be compared are exactly the same, the length difference of the two strings will be returned
String a1 = "aa"; String a2 = "aa12345678"; System.out.println(a1.compareTo(a2));//结果为-8
4. Returning a positive number means a1>a2, returning a negative number means a1
5. Number types cannot be used with compareTo , nt cannot be compared with int using the compareTo method, directly use greater than (>) less than (<) or equal to (==) is not equal to (!=) Just compare
int num1 = 4; int num2 = 5; num1.compareTo(num2);//Cannot invoke compareTo(int) on the primitive type int
You can first convert your int type variable into String and then compare
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 ignores case
Does not consider case and compares two strings in dictionary order. This method returns an integer whose sign is the sign of the call to compareTo using a normalized version of the string whose case difference has been resolved by calling Character.toLowerCase(Character.toUpperCase(character) for each character) ) can be eliminated.
Note that this method does not take into account the locale, so it may produce suboptimal ordering in some specific locales. The java.text package provides Collators to accomplish locale-sensitive sorting.
7. Int types can be compared directly, so compareTo comparison is not used. If the declaration is Date, String, Integer, or others, compareTo comparison can be used directly,
Integer n1 = 5; Integer n2 = 6; System.out.println(n1.compareTo(n2));//-1
Recommended related video tutorials: Java video tutorial
The above is the detailed content of What is the use of java compareto method. For more information, please follow other related articles on the PHP Chinese website!