新版本比较算法
2020-12-13 16:30
标签:ring i++ lte pre version break trigger boolean string 新版本比较算法 标签:ring i++ lte pre version break trigger boolean string 原文地址:https://www.cnblogs.com/qtlq/p/11620253.html之前写的不能比较类似于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 if (Integer.parseInt(versionArr[i]) > Integer.parseInt(triggerVersionArr[i])) {
return true;
} else if (Integer.parseInt(versionArr[i]) break;
} else {
i++;
if (Integer.parseInt(versionArr[i]) > Integer.parseInt(triggerVersionArr[i])) {
return true;
} else if (Integer.parseInt(versionArr[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]) return false;
}
}
}
}
return false;
}