你好杰米 2018-10-10 03:12 采纳率: 87.5%
浏览 16350
已采纳

【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)比较时间大小

    评论
  • threenewbee 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 方法 不用在去换算成时间什么的了 没那么麻烦

    评论
查看更多回答(7条)

报告相同问题?

悬赏问题

  • ¥50 AES魔改之后的安全性关于PRF(相关搜索:密码学)
  • ¥15 用C语言写的一个程序遇到了两个问题第一是偏移正确但读取不到坐标,第二个问题是自己定义的函数实现不了获取指定进程模块。
  • ¥15 在安装Anaconda时总是闪退怎么办?
  • ¥15 对图中电路进行以下几个方面的分析
  • ¥15 对图中电路进行以下几个方面的分析
  • ¥15 对图中电路进行以下几个方面的分析
  • ¥15 对图中电路进行以下几个方面的分析
  • ¥500 抖音主页视频预存加载卡bug
  • ¥15 用汇编语言编写51单片机,定时闹钟程序
  • ¥20 关于TRPD(波形特征)局部放电特征提取