java中两个字符串如何比较大小?

Python06

java中两个字符串如何比较大小?,第1张

int1 int2  long t1="= result 20131011"IntegerSimpleDateFormat("

有三种方法实现

第一种直接用字符串类的compareTo方法t1int yyyyMMdd" result小于0)&nbsp.parseInt(t2)int int1-int2Date   sdfd1 SimpleDateFormat &nbsp.getTime()int result sdf注Integer:result等于0,则t1=t2.compareTo(t2)t2Date = d2 =&nbsp: t2=" d1.getTime()-d2=

第二种是把这个日期字符串转换成long= &nbsp.parse(t2)  = &nbsp;String t2:&nbsp.parseInt(t1)result  String int new ,则t1>sdf =&nbsp,则t1<

第三种是把日期字符串转换成整形int:result大于0.parse(t1)20131030" =&nbsp

一种思路:用 SimpleDateFormat 来处理,可以转成long形式的,那是1970年1月1日起到现在的毫秒数。可以直接比大小了。另外一种思路:因为你这里是用的补全格式(7月写成了07),那么可以直接字面转了比较 public static void main(String[] _s) { String str1 = "2010-07-16 12:00:00"long longstr1 = Long.valueOf(str1.replaceAll("[-\\s:]",""))System.out.println(longstr1)}这个结果是20100716120000,就这个意思,直接字面转成long形式后比。

java的String类中有一个compareTo的方法。

public class test {

    public static void main(String[] args) {

            

        String a = "abb"

        String b = "abc"

        System.out.println(a.compareTo(b))

        String a1 = "abc"

        String b1 = "abc"

        System.out.println(a1.compareTo(b1))

        String a2 = "abd"

        String b2 = "abc"

        System.out.println(a2.compareTo(b2))

    }

}

小于输出负数,相等输出0, 大于输出正数

严格来说,String确实有长度限制。

String内部使用一个char[]数组来存放字符串的内容,数组下标是整型(也可以参考String的构造方法String(char value[], int offset, int count) ,可以知道字符数量是用整型表示),整型(Java规定32位)表示范围是2G,也就是说,Java数组最大的长度是2G,即字符串不能超过2G个字符。

Java的数组大小还有没有别的限制?事实上数组大小不能超过Java堆的大小,而Java堆的最大尺寸可以通过启动参数指定,如果Java堆开得足够大,数组的最大长度是可以不断增大的。

所以,理论上,字符串不能超过2G个字符,少于2G个字符都有可能。