java中两个字符串如何比较大小
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了java中两个字符串如何比较大小相关的知识,希望对你有一定的参考价值。
有两个日期 如20131011,20131030,类型为String,如何比较出20131030大于20131011,求java代码
有三种方法实现
第一种直接用字符串类的compareTo方法:
String t1="20131011";String t2="20131030";
int result = t1.compareTo(t2);
第二种是把这个日期字符串转换成long:
SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd");Date d1 = sdf.parse(t1);
Date d2 = sdf.parse(t2);
long result = d1.getTime()-d2.getTime();
第三种是把日期字符串转换成整形int:
int int1 = Integer.parseInt(t1);int int2 = Integer.parseInt(t2);
int result = int1-int2;
注:result大于0,则t1>t2;
result等于0,则t1=t2;
result小于0,则t1<t2;
参考技术A java字符串比较大小的话,你可以先转换成int或者double类型进行比较 参考技术B 使用 String.compareTo 方法: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) 参考技术C '20131011'.comapreTo('20131030')
返回1表示大于,返回0表示相等,返回-1表示小于
千万别把字符串转成啥日期或整数类型再比较,那会贼慢,循环1百万遍就知道了 参考技术D
你确定你就是比较日期吗?如果单纯的是日期,那么你可以把它当做数字比较
如果是不确定的字符串,那么你是要比较什么呢?长度,还是首字母?问题要明确
确定是日期,但是日期的类型是String
追答int a=Integer.parseInt("20131030");
int b=Integer.parseInt("20131011");
if(a-b>0)
System.out.println("a>b");
else if(a-b==0)
System.out.println("a=b");
else
System.out.println("b>a");
java中string能比较大小吗
字符串的比较用string.compareTo(str);不过不是单纯的类似数字的比较大小。具体可以看源码。这个方法是作用:
1.从两个字符串最开始位置匹配到两个字符串较短的最后,即从0到Math.min(len1, len2),然后获取每个位置的字符char1和char2,如果char1和char2不想等,返回char1-char2
2.如果0到Math.min(len1, len2)的位置的字符都相等,返回两字符串长度的差,即length1-length2
具体来说
"a".compareTo("c")、"abc".compareTo("c")都返回-2。上述情况1
"abc".compareTo("abcdefg")返回-4。上述情况2 参考技术A 比较字符的大小。
以上是关于java中两个字符串如何比较大小的主要内容,如果未能解决你的问题,请参考以下文章