Java String compareTo()
compareTo() 方法用于两种方式的比较:
- 字符串与对象进行比较。
- 按字典顺序比较两个字符串。
1 语法
public int compareTo(String anotherString)
2 参数
anotherString:表示要与当前字符串进行比较的字符串
3 返回值
返回值是整型,它是先比较对应字符的大小(ASCII码顺序),如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值,如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至比较的字符或被比较的字符有一方结束。
- 如果参数字符串等于此字符串,则返回值 0;
- 如果此字符串小于字符串参数,则返回一个小于 0 的值;
- 如果此字符串大于字符串参数,则返回一个大于 0 的值。
4 compareTo()内部源码
public boolean equals(Object anObject) {
if (this == anObject) {
return true;
}
if (anObject instanceof String) {
String anotherString = (String) anObject;
int n = value.length;
if (n == anotherString.value.length) {
char v1[] = value;
char v2[] = anotherString.value;
int i = 0;
while (n-- != 0) {
if (v1[i] != v2[i])
return false;
i++;
}
return true;
}
}
return false;
}
5 compareTo()示例1
package com.yiidian;
/**
* 一点教程网: http://www.yiidian.com
*/
/**
* Java String.compareTo方法的例子
*/
public class Demo{
public static void main(String args[]){
String s1="hello";
String s2="hello";
String s3="meklo";
String s4="hemlo";
String s5="flag";
System.out.println(s1.compareTo(s2));//0
System.out.println(s1.compareTo(s3));//-5
System.out.println(s1.compareTo(s4));//-1
System.out.println(s1.compareTo(s5));//2
}
}
输出结果为:
0
-5
-1
2
6 compareTo()示例2
如果将字符串与NULL或空字符串进行比较,它将返回字符串的长度。如果第二个字符串为空,则结果为正。如果第一个字符串为空,则结果为负。
package com.yiidian;
/**
* 一点教程网: http://www.yiidian.com
*/
/**
* Java String.compareTo方法的例子
*/
public class Demo{
public static void main(String args[]){
String s1="hello";
String s2="";
String s3="me";
System.out.println(s1.compareTo(s2));
System.out.println(s2.compareTo(s3));
}
}
输出结果为:
5
-2
热门文章
优秀文章