关于Java中compareTo方法的使用

首先,说明一下java中的compareTo方法,比较此对象与指定对象的顺序。compareTo方法用于比较两个字符串的ASCII码的差值。常见的情况有3中:

第一种:比较两个单个字符

例如:

首先我们定义两个只有单个字符的变量i,j

String i = "a" ,  j = "b";

System.out.println(i.compareTo(j));

结果:-1;

String i = "a" , String j = "a";

System.out.println(i.compareTo(j));

结果:0;

String i = "b" , String j = "a";

System.out.println(i.compareTo(j));

结果:1;

结论:首先说明一下:a的ASCII码为97,b的ASCII码为98. 在使用compareTo方法时,若被比较的两个字符串

为单个字符,返回两个字符的ASCII码差值;

第二种:首字母不相同的字符串(非单个)

String i = "ab", j = "b";

结果:-1;

String i = "abc" , j = "def";

结果:-3

结论:首字母不相同的情况下,不论后面的是否相同,只比较首字母的ASCII码,返回首字母的ASCII码的差值。

第三种:首字母相同的字符串(非单个)

String i = "abcdef", j ="a";

结果:1;

String i = "abcdef", j ="ac";

结果:-1;

String i = "abcdef", j ="ab";

结果:4;

String i = "abcdef", j ="abcd";

结果:2;

String i = "abcdef", j ="abcde";

结果:1;

结论:如果参与运算的两个字符串的首字母是相同的,会依次的比较下一个字符,直到出现了不同的位置,在该

位置会比较不同字符,并返回这两个字符的ASCII的差值。

如果需要比较的两个字符的长度不一样,但是参与比较的两个字符串中从首字母开始不间断的存在相同部分

(即参与比较的字符均相同),则会返回两个字符串长度的差值。


compareTo方法可以用于比较字符串,在实际应用中我们可以考虑用compareTo方法来判断日期。例如:比较生产日期

与截至日期,可判断是否过期。

String makeData ="2017-07-27";

String passedData = "2017-09-27";

if(passedData.compareTo(makeData)>=0){

System.out.println("还处在有效期内!");

}else{

System.out.println("已经超过了有效期!");

}


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值