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

Python011

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中的字符串比较方法:

1)string1.equals(string2)

2) str1==str2 。

java中字符串的比较是==比较引用,equals 比较值的做法。但是不同的声明方法字符串的比较结果也是不同的。

例如: String str1=new String("a")

String str2=new String("a")

str1==str2 输出false

str1.equals(str2) 输出true

而如果这样声明

String str1="a"

String str2="a"

str1==str2 输出true

str1.equals(str2) 输出true

这是因为 equals 方法本来也是比较引用的字符串类在实现的时候重写了该方法。

第一种声明方法等于是声明了两个对象,用’==‘比较是时候比较的是引用输出的是false 由于他们的值相同用equals的时候就比较的是值了,输出true。

第二种情况不是因为比较有与第一种有差异,而是因为声明有差异,第二种声明方法在声明的时候有堆或堆栈 共用的现象,也就是说 在声明的时候如果如果声明为类属性他会检查在堆栈中有没有与现在声明的是相同结构的字符串。如果有就直接将地址指向已有内存地址。声明在方法内部的局部变量原理一样只不过他是堆栈共享。