Java實現比較APP版本號大小

2021-08-28 04:53:27 字數 825 閱讀 7634

實現**如下:

/**

* * 1、前者大則返回乙個正數

* 2、後者大返回乙個負數

* 3、相等則返回0

** @return int

*/if (version1 == null || version2 == null)

// 注意此處為正則匹配,不能用.

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

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

int idx = 0;

// 取陣列最小長度值

int minlength = math.min(versionarray1.length, versionarray2.length);

int diff = 0;

// 先比較長度,再比較字元

while (idx < minlength

&& (diff = versionarray1[idx].length() - versionarray2[idx].length()) == 0

&& (diff = versionarray1[idx].compareto(versionarray2[idx])) == 0)

// 如果已經分出大小,則直接返回,如果未分出大小,則再比較位數,有子版本的為大

diff = (diff != 0) ? diff : versionarray1.length - versionarray2.length;

return diff;

}

已自測通過

Java實現比較版本號

涉及到客戶端的系統中經常需要用到比較版本號的功能,但是比較版本號又不能完全按照字串比較的方式去用compareto之類的方法 這就需要我們總結版本號的通用規則,設計乙個比較演算法並封裝成通用方法來使用 通常版本號如 1.3.20.8,6.82.20160101,8.5a 8.5c等 通用規則就是,先...

Java實現比較版本號

原文 涉及到客戶端的系統中經常需要用到比較版本號的功能,但是比較版本號又不能完全按照字串比較的方式去用compareto之類的方法 這就需要我們總結版本號的通用規則,設計乙個比較演算法並封裝成通用方法來使用 通常版本號如 1.3.20.8,6.82.20160101,8.5a 8.5c等 通用規則就...

java版本號比較

public static int versioncompareto string version1,string version2 for int i 0 i version2array.length i int size version1list.size version2list.size v...