Java 比较版本号

在开发中,有时候会遇到比较两个文件的版本号,或者比较多个文件的版本号得出最新版本号。 可以用如下代码解决:

1/** 2 * 比较版本号 3 * @param version1 版本号1 4 * @param version2 版本号2 5 * @return <p>0:版本号1 > 版本号2</p> 6 * <p>1:版本号1 > 版本号2</p> 7 * <p>-1:版本号1 < 版本号2</p> 8 */ 9private int compareVersion(String version1, String version2) { 10 11 if ((version1 == null || version1.length() == 0) && (version2 == null || version2.length() == 0)) { 12 return 0; 13 } else if (version1 == null || version1.length() == 0) { 14 return -1; 15 } else if (version2 == null || version2.length() == 0) { 16 return 1; 17 } 18 String[] v1 = version1.split("\\."); 19 String[] v2 = version2.split("\\."); 20 for (int i = 0; i < v1.length || i < v2.length; ++i) { 21 int x = 0, y = 0; 22 if (i < v1.length) { 23 x = Integer.parseInt(v1[i]); 24 } 25 if (i < v2.length) { 26 y = Integer.parseInt(v2[i]); 27 } 28 if (x > y) { 29 return 1; 30 } 31 if (x < y) { 32 return -1; 33 } 34 } 35 return 0; 36}
点赞
收藏

评论区

加载中...

相关推荐

java实现的版本号比较

/实现版本号比较支持任意数字字母版本号比较,这里实现的是用点号(.)作为分隔符支持任意长度的小版本号比较/publicstaticintcompareVersion(Stringver1,Stringver2){if(ver1null&&

CDH用户及开发者应当关注的CDP组件变化

在Cloudera和Hortonworks合并后,Cloudera公司推出了新一代的数据平台产品CDPDataCenter(以下简称为CDP),在2019年11月30日已经正式GA。CDP的版本号延续了之前CDH的版本号,从7.0开始,目前最新的版本号为7.0.3.0。那么CDP对比之前的ClouderaEnterpriseDataHub(

MSVC 版本号对应

MSVC版本号对应MSVC14.0_MSC_VER1900(VisualStudio2015)MSVC12.0_MSC_VER1800(VisualStudio2013)MSVC11.0_MSC_VER1700(VisualStudio2

flume高并发优化——(15)中间件版本升级

在系统平稳运行一年的基础上,为提供更好的服务,现针对java,kafka,flume,zk,统一进行版本升级,请各位小伙伴跟着走起来,不要掉队啊!名称老版本号新版本号jdk1.7.0\_251.8.0kafka2.100.8.0.12.100.10.2.1flume1.6.01.7.0zookeeper

POI可用版本号

POI版本不对会导致各种运行时问题,下面是一个可用版本组合<dependency<groupIdorg.apache.poi</groupId<artifactIdpoiscratchpad</artifactId<version3.9</version<

Liunx版本号码编排惯例

1、内核版本号不代表操作系统整体版本;Linux的内核,以及每一个应用程序、元件、库或者是发行版中的软件包都有自身的版本号。例如你使用的gcc版本号码是2.7.2.3,内核可能是2.2。在安装某个发行版时,所有这些过程得到了简化,因为发行版中包括的每一个软件包都是最新的,例如:RedHat、easyLinux。2、稳定版和开发版任何时候内核都以两