对Java中compareTo方法进行深入学习

compareTo() 方法:

字符串与对象进行比较。
按字典顺序比较两个字符串。
语法

int compareTo(Object o)
或
int compareTo(String anotherString)
参数
o -- 要比较的对象。
anotherString -- 要比较的字符串。

返回值
返回值是整型,它是先比较对应字符的大小(ASCII码顺序),如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值,如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至比较的字符或被比较的字符有一方结束。

如果参数字符串等于此字符串,则返回值 0;
如果此字符串小于字符串参数,则返回一个小于 0 的值;
如果此字符串大于字符串参数,则返回一个大于 0 的值。

实例:
public class Test {
 
    public static void main(String args[]) {
        String str1 = "Strings";
        String str2 = "Strings";
        String str3 = "Strings123";
 
        int result = str1.compareTo( str2 );
        System.out.println(result);
      
        result = str2.compareTo( str3 );
        System.out.println(result);
     
        result = str3.compareTo( str1 );
        System.out.println(result);
    }
}
/*
结果:
0
-3
3
*/
Java中compareTo()方法比较字符串详解

中心:String 是字符串,它的比较用compareTo方法,它从第一位开始比较, 如果遇到不同的字符,则马上返回这两个字符的ascii值差值.返回值是int类型

1.当两个比较的字符串是英文且长度不等时,

1)长度短的与长度长的字符一样,则返回的结果是两个长度相减的值

a="hello";
b="hell";
num=1;
或者
a="h";
b="hello";
num=4;

2)长度不一样且前几个字符也不一样,从第一位开始找,当找到不一样的字符时,则返回的值是这两个字符比较的值

a="assdf";
b="bdd";

num=-1;

2.当两个比较的字符串是英文且长度相等时,

1)一个字符

a="a";   //97
b="b";   //98

 

num=-1;

 

2)多个字符,第一个字符不同则直接比较第一个字符
a="ah";    //a=97
b="eg";    //e=101

 

num=-4

 

3)多个字符,第一个字符相同则直接比较第二个字符,以此类推

a="ae";   //e=101
b="aa";   //a=97
num=4;


String s1 = "hello";
String s2 = "hello";`在这里插入代码片`
String s3 = "abc";
String s4 = "xyz";
System.out.println(s1.compareTo(s2));  //0;
System.out.println(s1.compareTo(s3));  //7;      h为104,a为97,差为7
System.out.println(s1.compareTo(s4));  //-16;  h为104,x为120,差为-16`在这里插入代码片`

compare java to方法使用 java的compare to_System


比较此对象与指定对象的顺序。如果该对象小于、等于或大于指定对象,则分别返回负整数、零或正整数。
返回整数,1,-1,0;返回1表示大于,返回-1表示小于,返回0表在这里插入代码片示相等。