android 版本號大小比較

2021-08-16 06:52:11 字數 1264 閱讀 8298

網上找了很多方法都不太靠譜,有問題,自己改了改,親試可以

1. 主版本號

2. 次版本號

3. 修正版本號

4. 編譯版本號

例如:2.1

.3 ,3.7

.5,10.2.0

在比較版本號時,正確的做法應該是,主版本號和主版本號比較,次版本號和次版本號比較等等,也就是把版本號分割,對應的組成之間進行比較,如下:

/**

* 版本號比較

* * @param version1

* @param version2

* @return

*/public

static

intcompareversion

(string version1, string version2)

string version1array = version1.split("\\.");

string version2array = version2.split("\\.");

log.d("homepageactivity", "version1array=="+version1array.length);

log.d("homepageactivity", "version2array=="+version2array.length);

int index = 0;

// 獲取最小長度值

int minlen = math.min(version1array.length, version2array.length);

int diff = 0;

// 迴圈判斷每位的大小

log.d("homepageactivity", "vertag2=2222="+version1array[index]);

while (index < minlen

&& (diff = integer.parseint(version1array[index])

- integer.parseint(version2array[index])) == 0)

if (diff == 0)

}for (int i = index; i < version2array.length; i++)

}return

0; } else

}

結果說明:0代表相等,1代表version1大於version2,-1代表version1小於version2

over~~

比較版本號大小

適用於用.分隔的形式,如2.2.2的格式 1 前者大則返回乙個正數 2 後者大返回乙個負數 3 相等則返回0 return int if version1 null version2 null 注意此處為正則匹配,不能用.string versionarray1 version1.split str...

版本號大小比較演算法

版本號之間比較大小,本質上是比較字串之間的關係。這裡給定兩個版本號,你一定能迅速地區分出大小 0.0.2 0.0.3 想要讓電腦程式分辨她們的關係,可以直接使用strcmp 函式獲取返回值,如果你在 ios 系統下程式設計,也可以使用 nsstring 類提供的 nscomparisonresult...

C 如何比較版本號大小

最近遇到了乙個資料遷移的問題,因為配置檔案的結構發生變化,所以要把低版本的使用者資料儲存下來,存到最新版本中去。這裡就有乙個比較版本號大小的問題了,網上亂七八糟演算法一堆,大致意思就是用分割字串的方法,比如2.1.2和2.2.4,挨個比較,用遞迴來處理等等的,其實c 自帶乙個類verson 可以滿足...