自动更新 -- 版本号比较(2)

来源:互联网 发布:c语言api帮助文档 编辑:程序博客网 时间:2024/06/02 16:20

版本号比较

在实现自动更新的时候,需要进行版本号的比较。

例如: 1.0.6 和1.0.7比较大小

解决方案:

将版本号的字符串转换成整数来比较。

步骤:

1. 去除字符串中的小数点。(使用正则表达式)

2. 比较两个字符串的长度,长度短的后尾补0,直到两个字符串长度相同。(为了实现 1.0.5.1与1.0.6的比较)。

3. 将两个字符串转换成整数比较。

代码如下:

// 正则表达式去除小数点//String str1 = "1.0.6".replaceAll("[.]", ""); //String str2 = "1.0.7".replaceAll("[.]", "");String str1 = "1.0.5.1".replaceAll("[.]", ""); String str2 = "1.0.6".replaceAll("[.]", "");//长度不同尾部加0填充if(str1.length()<str2.length()){for(int i = 0;i< str2.length() - str1.length();i++){str1 += "0";}}else{for(int i = 0;i< str1.length() - str2.length();i++){str2 += "0";}}int i1 = Integer.valueOf(str1);int i2 = Integer.valueOf(str2);System.out.println("str1 => i1 = "+i1);System.out.println("str2 => i2 = "+i2);


0 0