为了账号安全,请及时绑定邮箱和手机立即绑定

【Java】怎么比较两个字符串中的数字大小?

【Java】怎么比较两个字符串中的数字大小?

POPMUISE 2019-04-10 14:15:07
现在有这样两个字符串String time1 = "07:18";String time2 = "12:21";            Java中不能用 time1 > time2 这种方法比较,但是我发现js可以             请问java中如何满足这样的需求             (ps: 判断两个     时:分    的大小关系)
查看完整描述

7 回答

?
胡说叔叔

TA贡献1804条经验 获得超8个赞

String time1 = "12:21";
String time2 = "07:18";
System.out.println(time1.compareTo(time2));//1

time1 = "20:21";
time2 = "01:18";
System.out.println(time1.compareTo(time2));//2

time1 = "14:21";
time2 = "10:18";
System.out.println(time1.compareTo(time2));//4

time1 = "14:21";
time2 = "23:18";
System.out.println(time1.compareTo(time2));//-1

time1 = "14:21";
time2 = "14:21";
System.out.println(time1.compareTo(time2));//0

事实说明,time1.compareTo(time2)返回结果>0说明time1大;返回结果<0说明time2大;返回结果=0说明一样大。


查看完整回答
反对 回复 2019-05-13
?
喵喵时光机

TA贡献1846条经验 获得超7个赞

boolean compare(String time1, String time2){
String[] arr1 = time1.split(":");
String[] arr2 = time2.split(":");
if (Integer.parseInt(arr1[0]) == Integer.parseInt(arr2[0]))
return (Integer.parseInt(arr1[1]) > Integer.parseInt(arr2[1]);
else
return (Integer.parseInt(arr1[0]) > Integer.parseInt(arr2[0]);
}

查看完整回答
反对 回复 2019-05-13
?
MMMHUHU

TA贡献1834条经验 获得超8个赞

就那几楼说的 符合规范就直接用 String.compareTo 方法 不用在去换算成时间什么的了 没那么麻烦


查看完整回答
反对 回复 2019-05-13
?
胡子哥哥

TA贡献1825条经验 获得超6个赞

看需要,如果比较字符串直接用time1.compareTo(time2),如果比较时间大小,那你直接转换成数字比较可靠点


查看完整回答
反对 回复 2019-05-13
?
鸿蒙传说

TA贡献1865条经验 获得超7个赞

你这个只有时分,那就直接转数字,比较大小就可以
            String data1 = "07:18".replaceAll(":",".");
    String data2 = "12:21".replaceAll(":",".");
    Double double1 = Double.valueOf(data2);
    Double double2 = Double.valueOf(data2);
    System.out.println(double1 > double1);


查看完整回答
反对 回复 2019-05-13
  • 7 回答
  • 0 关注
  • 12160 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号