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

 我来答
zwclsa
2018-04-12 · TA获得超过6444个赞
知道小有建树答主
回答量:62
采纳率:100%
帮助的人:4.7万
展开全部

int1 int2  long t1="= result 20131011"Integer;SimpleDateFormat("

有三种方法实现

第一种直接用字符串类的compareTo方法; t1; int yyyyMMdd" result小于0; ); &nbsp.parseInt(t2);int int1-int2;Date   sdf;d1 SimpleDateFormat &nbsp.getTime();int result sdf;注;Integer:result等于0,则t1=t2.compareTo(t2);t2; ;Date = 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形式后比。

百度网友b0905b3
2017-12-25 · TA获得超过293个赞
知道小有建树答主
回答量:286
采纳率:100%
帮助的人:279万
展开全部
public class Hello {
public static void main(String args[]) {
String str1 = "20131030";
String str2 = "20131030"; // 技巧:comapreTo 正则大 负则小 相等为0
if (str1.compareTo(str2) > 0)
System.out.println(str1 + "比" + str2 + "大");
else if (str1.compareTo(str2) == 0)
System.out.println(str1 + "等于" + str2);
else
System.out.println(str1 + "比" + str2 + "小");
}
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小月亮Mr
2018-03-31 · TA获得超过6000个赞
知道答主
回答量:32
采纳率:0%
帮助的人:1.3万
展开全部

使用 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)

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式