version1>version2 返回1
version1=version2 返回0
version1<version2返回-1
public class Version {
public static void main(String[] args) {
int i=Version.compareVersion("10.1.0", "9.5.0");
System.out.println(i);
int a=Version.compareVersion("8.1.0", "9.5.0");
System.out.println(a);
int b=Version.compareVersion("9.5.0", "9.5.0");
System.out.println(b);
}
public static int compareVersion(String version1, String version2) {
if (version1.equals(version2)) {
return 0;
}
String[] version1Array = version1.split("\\.");
String[] version2Array = version2.split("\\.");
int index = 0;
//获取最小长度值
int minLen = Math.min(version1Array.length, version2Array.length);
int diff = 0;
//循环判断每位的大小
while (index < minLen && (diff = Integer.parseInt(version1Array[index]) - Integer.parseInt(version2Array[index])) == 0) {
index++;
}
if (diff == 0) {
//如果位数不一致,比较多余位数
for (int i = index; i < version1Array.length; i++) {
if (Integer.parseInt(version1Array[i]) > 0) {
return 1;
}
}
for (int i = index; i < version2Array.length; i++) {
if (Integer.parseInt(version2Array[i]) > 0) {
return -1;
}
}
return 0;
} else {
return diff > 0 ? 1 : -1;
}
}
}
返回结果如下:

3624



被折叠的 条评论
为什么被折叠?



