你好杰米
2018-10-10 03:12
采纳率: 95%
浏览 14.8k
已采纳

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

现在有这样两个字符串
String time1 = "07:18";
String time2 = "12:21";

            Java中不能用 time1 > time2 这种方法比较,但是我发现js可以

            请问java中如何满足这样的需求

            (ps: 判断两个     时:分    的大小关系)
  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

8条回答 默认 最新

  • CZ__ 2018-10-10 07:20
    已采纳
    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说明一样大。

    点赞 打赏 评论
  • ljr340823 2018-10-10 03:24

    time1,time2转换成DateTime,然后再用DateTime.Compare(time1,time2)比较时间大小

    点赞 打赏 评论
  • blownewbee 2018-10-10 03:30

    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]);
    }

    点赞 打赏 评论
  • 世纪怪咖 2018-10-10 03:33

    最方便应该就是直接使用 a.compareto(b) 结果为-1证明b大,1证明a大,也可以 simpledateformat 转成日期类型的对比,或者字符串分割,分成小时的数与分钟的数,然后转成数字进行

    点赞 打赏 评论
  • dsxjinzhiqiang 2018-10-10 07:34

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

    点赞 打赏 评论
  • FluxMode 2018-10-10 09:25
                你这个只有时分,那就直接转数字,比较大小就可以
                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);
    
    点赞 打赏 评论
  • NameException 2020-11-11 18:13

    equals方法可以比较String类型的数值类型中的数值大小

     

    点赞 打赏 评论
  • x060508 2018-10-10 06:19

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

    点赞 打赏 评论

相关推荐 更多相似问题