首页 > 代码库 > 自动更新 -- 版本号比较(2)

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

版本号比较

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

例如: 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);


 

 

 

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