版本号比较
版本号比较
williamQAQ 发表于6个月前
版本号比较
  • 发表于 6个月前
  • 阅读 4
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 十分钟定制你的第一个小程序>>>   

  /** 
 * 比较版本号的大小,前者大则返回一个正数,后者大返回一个负数,相等则返回0 
 * @param version1 
 * @param version2 
 */  
public static int compareVersion(String version1, String version2) throws Exception {  
    if (version1 == null || version2 == null) {  
        throw new Exception("compareVersion error:illegal params.");  
    }  
    String[] versionArray1 = version1.split("\\.");//注意此处为正则匹配,不能用.;  
    String[] versionArray2 = version2.split("\\.");  
    int idx = 0;  
    int minLength = Math.min(versionArray1.length, versionArray2.length);//取最小长度值  
    int diff = 0;  
    while (idx < minLength  
            && (diff = versionArray1[idx].length() - versionArray2[idx].length()) == 0//先比较长度  
            && (diff = versionArray1[idx].compareTo(versionArray2[idx])) == 0) {//再比较字符  
        ++idx;  
    }  
    //如果已经分出大小,则直接返回,如果未分出大小,则再比较位数,有子版本的为大;  
    diff = (diff != 0) ? diff : versionArray1.length - versionArray2.length;  
    return diff;  
}  

 

标签: 版本号比较
共有 人打赏支持
粉丝 0
博文 34
码字总数 3643
×
williamQAQ
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: