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