您的位置:首页 > 编程语言 > Java开发

关于Java中compareTo方法的使用

2017-07-27 19:56 267 查看
首先,说明一下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("已经超过了有效期!");

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java compareTo