Java String的compareTo返回结果

来源:互联网 发布:sql 分组合计 编辑:程序博客网 时间:2024/05/24 00:18

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进行数据格式的字符串比较时需要注意,可能得到错误的结果。