版本号闲谈
来源:互联网 发布:h3c路由配置端口ip网关 编辑:程序博客网 时间:2024/06/06 01:43
版本号闲谈
不管是对于后端还是前段版本兼容始终是个无法避免的难题,而其中的版本号命令也应该符合一定的规则,否则比较版本时就比较麻烦.
版本号的格式:V<主版本号>.<副版本号>.<发布号>版本号的初始值:V1.0.0
版本号管理规则:1、产品的主体构件进行重大修改,主版本号加12、产品升级增加特性副版本号加13、主版本号加1时,副版本号和发布号置为04、副版本号加1时,发布号置为0
Java代码实现版本号比较
针对以上命名的规则,我写了一个版本号比较工具./** * 版本号比较 * * @author xuyi * @Time 2016年12月3日 下午3:13:14 * @类名 VersionCompare * @功能描述: * @春风十里不如你 * @备注: */public class VersionCompare{ /** * 这个方法应该算是比较完善的. * * @param firstVersion * @param secondVersion * @return */ public static VersionEnum compare(String firstVersion, String secondVersion) { if (firstVersion.equals(secondVersion)) return VersionEnum.EQUAL; if (moreLaterVersion(firstVersion, secondVersion)) return VersionEnum.HIGHER; return VersionEnum.LOWER; } /** * 判断两个版本号是否为同一个版本号 * * @param firstVersion * @param secondVersion * @return */ public static boolean isEqualsVersion(String firstVersion, String secondVersion) { return firstVersion.equals(secondVersion); } /** * 判断第一个版本号是否比后一个版本号更高 * * @param firstVersion * @param secondVersion * @return */ public static boolean moreLaterVersion(String firstVersion, String secondVersion) { //使用split方法时,注意一点,以"."分隔时要转义,因为使用的是正则处理的. String[] firstVersions = firstVersion.replace("V", "").split("\\."); String[] secondVersions = secondVersion.replace("V", "").split("\\."); int length = firstVersions.length; for (int i = 0; i < length; i++) { boolean later = Integer.compare(Integer.valueOf(firstVersions[i]), Integer.valueOf(secondVersions[i])) > 0; if (later) { return true; } } return false; }}
/** * 版本比较的枚举类型 * * @author xuyi * @Time 2016年12月3日 下午3:22:15 * @类名 VersionEnum * @功能描述: * @春风十里不如你 * @备注: */@Getterpublic enum VersionEnum{ LOWER("lower", -1), EQUAL("equal", 0), HIGHER("higher", 1); private int code; private String desc; VersionEnum(String desc, int code) { this.desc = desc; this.code = code; }}
0 0
- 版本号闲谈
- 闲谈
- 闲谈
- 闲谈
- 闲谈
- 闲谈
- 闲谈
- 闲谈
- 闲谈
- 闲谈
- 闲谈
- 闲谈
- 闲谈
- 闲谈
- 闲谈
- 闲谈
- 闲谈
- 闲谈
- NYOJ-畅通工程
- HDU-4292-网络流最大流
- Ananagrams Uva156
- Base入门篇
- 02C#一些基础知识
- 版本号闲谈
- 胎压项目架构的总结
- 直方图规范化的opencv的实现
- 5 状态机
- Tomcat 7.0 win7 64位免安装解压版 安装及配置
- android 自定义View开发实战(五) TextView滚动显示
- Eclipse:unable to connect to host 127.0.0.1 on port 7055
- Stream API
- 设备管理器中 停用启用设备后设备上有YB 错误代码Code 31