/** * 比較兩個版本號的大小,如果version1大於version2,返回值爲1,等於爲0,小於爲-1 * 例如:1.2.4和1.1.100比較大小,應是前者大於後者! * @param version1 * 第一個版本號 * @param version2 * 目標版本號 * @return */ public static Integer compareVersion(String version1, String version2) { try { if (version1 == null || version2 == null) { throw new IllegalArgumentException("Bad version number"); } String[] versionArray1 = version1.split("\\."); String[] versionArray2 = version2.split("\\."); if (versionArray1.length != 3 || versionArray2.length != 3) { throw new IllegalArgumentException("Bad version number"); } // 逐段比較版本號,先比較第一位 Integer result = null; for (int i = 0; i < 3; i++) { Integer v1 = Integer.parseInt(versionArray1[i]); Integer v2 = Integer.parseInt(versionArray2[i]); result = Integer.compare(v1 - v2, 0); if (result != 0) { break; } } return result; } catch (Exception ex) { log.error("Error to compare version", ex); return -2; } }
Java中實現版本號比較
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.