java.lang.String类compareTo()返回值解析
2015-08-10 15:08
603 查看
compareTo()的返回值是int,它是先比较对应字符的大小(ASCII码顺序)
1、如果字符串相等返回值0
2、如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值(ascii码值)(负值前字符串的值小于后字符串,正值前字符串大于后字符串)
3、如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至比较的字符或被比较的字符有一方全比较完,这时就比较字符的长度.
例:
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)
1、如果字符串相等返回值0
2、如果第一个字符和参数的第一个字符不等,结束比较,返回他们之间的差值(ascii码值)(负值前字符串的值小于后字符串,正值前字符串大于后字符串)
3、如果第一个字符和参数的第一个字符相等,则以第二个字符和参数的第二个字符做比较,以此类推,直至比较的字符或被比较的字符有一方全比较完,这时就比较字符的长度.
例:
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)
相关文章推荐
- spring 事物管理没起到作用
- spring(基础九) spring mvc 工作原理
- Java代码块
- 有关Struts2a的ction直接使用response异步问题
- Eclipse Java注释模板设置详解
- Spring类同名引起的ConflictingBeanDefinitionException异常
- Java双缓冲技术
- Java开发web的几种开发模式
- Servlet+JSP+JavaBean开发模式(MVC)介绍
- 更改maven使用的java版本(Mac)
- java线程研究---(5)暂停Thread:yield
- 如何用Spring将Service注入到Servlet中(注解模式)
- java简介
- hadoop 遇到java.net.ConnectException: to 0.0.0.0:10020 failed on connection
- eclipse中配置dtd和xsd文件实现自动提示
- Java数字时钟(现在是北京时间 20:13:14)
- java正则表达式捕获组
- eclipse相似代码方法快捷键
- Java 时间--Date,SimpleDateFormat,Calendar
- java static