compareTo()
2015-12-06 20:16
155 查看
compareTo()的返回值是整型,它是先比较对应字符的大小(ASCII码顺序),如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的
差值,如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至比较的字符或被比较的字符有一方
全比较完,这时就比较字符的长度.
按字典顺序比较两个字符串。该比较基于字符串中各个字符的 Unicode 值。将此
例:
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)
差值,如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至比较的字符或被比较的字符有一方
全比较完,这时就比较字符的长度.
按字典顺序比较两个字符串。该比较基于字符串中各个字符的 Unicode 值。将此
String对象表示的字符序列与参数字符串所表示的字符序列进行比较。如果按字典顺序此
String对象在参数字符串之前,则比较结果为一个负整数。如果按字典顺序此
String对象位于参数字符串之后,则比较结果为一个正整数。如果这两个字符串相等,则结果为 0;
compareTo只有在方法equals(Object) 返回
true时才返回
0。
例:
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)
相关文章推荐
- SQL查询执行过程
- SharedPreference.Editor的apply和commit方法异同
- ramoops&pstore简要说明
- 斐波那契数列的快速解法
- 初识设计模式
- 7、数据库的并发
- 垂直居中显示的几个方法
- 快学scala习题(七)-----包
- 转载:Objective-C中的 instancetype 和 id 关键字
- 数字划分类 dp
- Putty远程SSH免密码方式链接Linxu
- day_34Java多线程
- 6、抓取策略
- 高精度计算练习1
- mongodb的CursorNotFound异常
- LeetCode 007 Reverse Integer
- 5、缓存
- C开发 中原子性操作 , 除了快什么都不剩下了
- 信息安全系统设计基础第十三周学习总结
- Struts2框架学习(一)