【String的compareTo()方法返回值】

以前以为compareTo()比较的是ASCII码总和的大小,原来不是。compareTo(),它是先比较对应字符的大小(ASCII码顺序),如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的

  差值,如果第一个字符和参数的第一个字符相等,则以新番茄花园第二个字符和参数的第二个字符做比较,以此类推,直至比较的字符或被比较的字符有一方

  全比较完,这时就比较字符的长度.

  例: www.2cto.com

  String s1 = "abc";

  String s2 = "abcd";

  String s3 = "abcdfg";

  String s4 = "1bcdfg";

  String s5 = "cdfg";

  System.out.println( s1.compareTo(s2) ); // -1 (前面相等,s1长度小1)

  System.out.println( s1.compareTo(s3) ); // -3 (前面相等,s1长度小3)

  System.out.println( s1.compareTo(s4) ); // 48 ("a"的ASCII码是97,"1"的的ASCII码是49,所以返回48)

  System.out.println( s1.compareTo(s5) ); // -2 ("a"的ASCII码是97,"c"的ASCII码是99,所以返回-2)

posted on 2013-08-18 14:33  挖掘者者者  阅读(271)  评论(0编辑  收藏  举报