Java String的compareTo返回结果

Java String的compareTo返回结果

目录

方法说明

在使用compareTo方法进行字符串比较时,比较的是字符的Unicode值,返回的类型为整型。在实际进行比较时,会出现以下的结果:

compareTo 结果说明:

字符串比较情况返回结果
长度相同,字符相同0
长度相同,某些字符不同返回首个不相同字符的ASCII值差,this.charAt(k)-anotherString.charAt(k)
长度不同,短字符串与长字符串的前几位不完全相同返回首个不相同字符的ASCII值差,this.charAt(k)-anotherString.charAt(k)
长度不同,短字符串与长字符串的前几位完全相同返回这两个字符串的长度差,this.length()-anotherString.length()

代码

public class StringTest {
    public static void main(String[] args) {
        String str1 = "10";
        String str2 = "20";
        String str3 = "110";
        String str4 = "200";
        String str5 = "abc";
        String str6 = "2ab";
        String str7 = "2ad";
        String str8 = "2abc";
        String str9 = "2abcd";

        System.out.println(str1.compareTo(str2));
        System.out.println(str1.compareTo(str3));
        System.out.println(str2.compareTo(str3));
        System.out.println(str3.compareTo(str4));
        System.out.println(str4.compareTo(str5));
        System.out.println(str4.compareTo(str6));
        System.out.println(str6.compareTo(str8));
        System.out.println(str6.compareTo(str9));
        System.out.println(str7.compareTo(str9));
    }
}

结果

结果结果说明
-1‘1’-‘2’ 的结果为-1
-1‘0’-‘1’ 的结果为-1
1‘2’-‘1’ 的结果为1
-1‘1’-‘2’ 的结果为-1
-47‘2’-‘a’ 的结果为-47
-49‘0’-‘a’ 的结果为-49
-1长度相差1
-2长度相差2
2‘d’-‘b’ 的结果为2

结论

在使用compareTo进行数据格式的字符串比较时需要注意,可能得到错误的结果。

  • 3
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值