新版本比较算法

之前写的不能比较类似于1.2和1.2这类版本
现在可以支持这种两位的版本,以及支持版本长度不一致的版本,如1.2.3和1.2
private boolean underFilterVersionV2(String version,String triggerVersion) {
String[] versionArr = version.split("\\.");
String[] triggerVersionArr = triggerVersion.split("\\.");
for (int i = 0; i < version.length(); ) {
if (Integer.parseInt(versionArr[i]) > Integer.parseInt(triggerVersionArr[i])) {
return true;
} else if (Integer.parseInt(versionArr[i]) < Integer.parseInt(triggerVersionArr[i])) {
break;
} else {
i++;
if (Integer.parseInt(versionArr[i]) > Integer.parseInt(triggerVersionArr[i])) {
return true;
} else if (Integer.parseInt(versionArr[i]) < Integer.parseInt(triggerVersionArr[i])) {
return false;
} else {
i++;
if (i>=versionArr.length || i>=triggerVersionArr.length){
return true;
}
if (Integer.parseInt(versionArr[i]) >= Integer.parseInt(triggerVersionArr[i])) {
return true;
} else if (Integer.parseInt(versionArr[i]) < Integer.parseInt(triggerVersionArr[i])) {
return false;
}
}
}
}
return false;
}

posted on 2019-10-03 17:43  一只二傻子  阅读(397)  评论(0编辑  收藏  举报

导航