返回数字, 0 表示相同; 1 表示version1大; 2 表示version2大;
public static int compareVersion(String version1, String version2) { if (version1.equals(version2)) { return 0; } String[] version1Array = version1.split("//."); String[] version2Array = version2.split("//."); int v1Len = version1Array.length; int v2Len = version2Array.length; int minLen = Math.min(v1Len, v2Len); int v1 = 0; int v2 = 0; for (int i = 0; i < minLen; i++) { v1 = Integer.parseInt(version1Array[i]); v2 = Integer.parseInt(version2Array[i]); if (v1 > v2) { return 1; } else if (v1 < v2) { return 2; } } if (v1Len > v2Len) { return 1; } else if (v1Len < v2Len) { return 2; } return 0; }
一个简单的比较方法,本来也没什么好写下来的,不过翻看了下网上的,没有这么写的,感觉都是写的弯弯绕绕的,所以附个自己的。