本文概述
Java字符串compareTo()方法按字典顺序将给定字符串与当前字符串进行比较。返回正数, 负数或0。
它根据字符串中每个字符的Unicode值比较字符串。
如果第一个字符串在字典上大于第二个字符串, 则返回正数(字符值的差)。如果第一个字符串在字典上小于第二个字符串, 则返回负数;如果第一个字符串在字典上等于第二个字符串, 则返回0。
if s1 > s2, it returns positive number
if s1 < s2, it returns negative number
if s1 == s2, it returns 0
内部实施
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;
}
签名
public int compareTo(String anotherString)
参量
anotherString:表示要与当前字符串进行比较的字符串
退货
整数值
Java字符串compareTo()方法示例
public class CompareToExample{
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 because both are equal
System.out.println(s1.compareTo(s3));//-5 because "h" is 5 times lower than "m"
System.out.println(s1.compareTo(s4));//-1 because "l" is 1 times lower than "m"
System.out.println(s1.compareTo(s5));//2 because "h" is 2 times greater than "f"
}}
立即测试
输出:
0
-5
-1
2
Java字符串compareTo():空字符串
如果将字符串与空白或空字符串进行比较, 它将返回字符串的长度。如果第二个字符串为空, 则结果为正。如果第一个字符串为空, 则结果为负。
public class CompareToExample2{
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
评论前必须登录!
注册