文档章节

版本号比较

笙1
 笙1
发布于 2017/04/10 10:08
字数 175
阅读 6
收藏 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;  
}  

 

本文转载自:http://blog.csdn.net/zgs_shmily/article/details/49332471

共有 人打赏支持
笙1
粉丝 2
博文 39
码字总数 4058
作品 0
深圳
后端工程师
版本号大小比较算法

版本号大小比较算法 版本号之间比较大小,本质上是比较字符串之间的关系。这里给定两个版本号,你一定能迅速地区分出大小: 想要让计算机程序分辨她们的关系,可以直接使用函数获取返回值,如...

法斗斗
2016/05/27
72
0
版本管理学习

今天在观看孔浩教学视频的时候,学到了关于版本管理的比较基础的知识,于是拿来一下,以备今后复习之用。 外观 这里说的外观指的是软件开发过程中的版本信息,类似于 mysql-connector-java-5...

郭璞
2016/07/25
0
0
判断手机是否支持程序安装(版本判断)

今天早晨起来看了皇马和塞维利亚的比赛,睡不着了,不错,6:2的比分确实是场进球盛宴,而圣卡西在上半场的几次精彩扑救异常关键。好了,闲话少扯,开始正题。 改写了书上的一个小例子,判断手...

迷途d书童
2012/03/30
160
0
【转载】语义化版本 2.0.0

语义化版本 2.0.0 摘要 版本格式:主版本号.次版本号.修订号,版本号递增规则如下: 主版本号:当你做了不兼容的 API 修改, 次版本号:当你做了向下兼容的功能性新增, 修订号:当你做了向下...

RJKD
2015/11/16
0
0
Java中高效的版本号比较

我们都知道客户端或者设备端涉及到版本号的地方就必定会涉及到版本升级问题,这时候就需要我们比较版本号的大小,字符串类型的版本号是怎么比较呢?传统来说我们一般会使用compareTo 或者str...

yao012
2017/04/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

利用碎片化时间Get Linux系统

起初,我做着一份与IT毫无关系的工作,每月领着可怜的工资,一直想改变现状,但无从下手,也就是大家熟知的迷茫。我相信,每一个人都会或多或少的经历过迷茫,迷茫每一个选择,迷茫工作或者生...

linuxprobe16
24分钟前
0
0
OSChina 周日乱弹 —— 恨不得给你买张飞机挂票

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @开源中国首席灵魂师:分享张希/曹方的单曲《认真地老去》 来不及认真的年轻过,就认真的老去! 《认真地老去》- 张希/曹方 手机党少年们想听...

小小编辑
今天
182
6
如何实现靠谱的分布式锁?

分布式锁,是用来控制分布式系统中互斥访问共享资源的一种手段,从而避免并行导致的结果不可控。基本的实现原理和单进程锁是一致的,通过一个共享标识来确定唯一性,对共享标识进行修改时能够...

郑加威
今天
2
0
Mac OS X下Maven的安装与配置

Mac OS X 安装Maven: 下载 Maven, 并解压到某个目录。例如/Users/robbie/apache-maven-3.3.3 打开Terminal,输入以下命令,设置Maven classpath $ vi ~/.bash_profile 添加下列两行代码,之后...

TonyStarkSir
今天
4
0
关于编程,你的练习是不是有效的?

最近由于工作及Solution项目的影响,我在重新学习DDD和领域建模的一些知识。然后,我突然就想到了这个问题,以及我是怎么做的? 对于我来说,提升技能的项目会有四种: 纯兴趣驱动的项目。即...

问题终结者
今天
13
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部