文档章节

版本号比较

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

 

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

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

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

法斗斗 ⋅ 2016/05/27 ⋅ 0

版本管理学习

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

郭璞 ⋅ 2016/07/25 ⋅ 0

判断手机是否支持程序安装(版本判断)

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

迷途d书童 ⋅ 2012/03/30 ⋅ 0

【转载】语义化版本 2.0.0

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

RJKD ⋅ 2015/11/16 ⋅ 0

语义化版本2.0.0

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

尐桀 ⋅ 2014/11/07 ⋅ 0

Java中高效的版本号比较

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

yao012 ⋅ 2017/04/11 ⋅ 0

[iOS开发]使用Swift检测系统版本信息

iOS系统版本获取 获取当前运行系统的版本号: 比较版本号 最主要的是与iOS 8版本进行比较: 其中,NSComparisonResult有三个值: 进行判断 对比较结果进行判断,并做相应的操作:...

DMDGeeker ⋅ 2014/11/04 ⋅ 0

LeetCode:Compare Version Numbers - 比较版本号

1、题目名称 Compare Version Numbers(比较版本号) 2、题目地址 https://leetcode.com/problems/compare-version-numbers/ 3、题目内容 英文:Compare two version numbers version1 and ......

北风其凉 ⋅ 2015/09/18 ⋅ 0

大神求帮忙写个java正则表达式

我有这么多个版本号,2.0.1, 3.0.1, 4.0.1.4, 4.0.6, 4.1.0.24,以后类推,都是4位版本号或3位版本号 如果我在页面上输入最小版本1.0.0,最大版本3.0.1 则匹配到上述2.0.1和3.0.1 如果最小是...

调皮的XD ⋅ 2015/10/19 ⋅ 2

比较版本号

原题   Compare two version numbers version1 and version2.   If version1 > version2 return 1, if version1 < version2 return -1, otherwise return 0.   You may assume that t......

一贱书生 ⋅ 2016/12/26 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

zblog2.3版本的asp系统是否可以超越卢松松博客的流量[图]

最近访问zblog官网,发现zlbog-asp2.3版本已经进入测试阶段了,虽然正式版还没有发布,想必也不久了。那么作为aps纵横江湖十多年的今天,blog2.2版本应该已经成熟了,为什么还要发布这个2.3...

原创小博客 ⋅ 27分钟前 ⋅ 0

聊聊spring cloud的HystrixCircuitBreakerConfiguration

序 本文主要研究一下spring cloud的HystrixCircuitBreakerConfiguration HystrixCircuitBreakerConfiguration spring-cloud-netflix-core-2.0.0.RELEASE-sources.jar!/org/springframework/......

go4it ⋅ 51分钟前 ⋅ 0

二分查找

二分查找,也称折半查找、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束;如果某一特定元素大于...

人觉非常君 ⋅ 今天 ⋅ 0

VS中使用X64汇编

需要注意的是,在X86项目中,可以使用__asm{}来嵌入汇编代码,但是在X64项目中,再也不能使用__asm{}来编写嵌入式汇编程序了,必须使用专门的.asm汇编文件来编写相应的汇编代码,然后在其它地...

simpower ⋅ 今天 ⋅ 0

ThreadPoolExecutor

ThreadPoolExecutor public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, ......

4rnold ⋅ 昨天 ⋅ 0

Java正无穷大、负无穷大以及NaN

问题来源:用Java代码写了一个计算公式,包含除法和对数和取反,在页面上出现了-infinity,不知道这是什么问题,网上找答案才明白意思是负的无穷大。 思考:为什么会出现这种情况呢?这是哪里...

young_chen ⋅ 昨天 ⋅ 0

前台对中文编码,后台解码

前台:encodeURI(sbzt) 后台:String param = URLDecoder.decode(sbzt,"UTF-8");

west_coast ⋅ 昨天 ⋅ 0

实验楼—MySQL基础课程-挑战3实验报告

按照文档要求创建数据库 sudo sercice mysql startwget http://labfile.oss.aliyuncs.com/courses/9/createdb2.sqlvim /home/shiyanlou/createdb2.sql#查看下数据库代码 代码创建了grade......

zhangjin7 ⋅ 昨天 ⋅ 0

一起读书《深入浅出nodejs》-node模块机制

node 模块机制 前言 说到node,就不免得提到JavaScript。JavaScript自诞生以来,经历了工具类库、组件库、前端框架、前端应用的变迁。通过无数开发人员的努力,JavaScript不断被类聚和抽象,...

小草先森 ⋅ 昨天 ⋅ 0

Java桌球小游戏

其实算不上一个游戏,就是两张图片,不停的重画,改变ball图片的位置。一个左右直线碰撞的,一个有角度碰撞的。 左右直线碰撞 package com.bjsxt.test;import javax.swing.*;import j...

森林之下 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部