public static boolean isVersionNew(String newVer, String lastVer) {
if (TextUtils.isEmpty(newVer) || TextUtils.isEmpty(lastVer)) {
return false;
}
String[] newVerSplit = newVer.split("\\.");
String[] lastVerSplit = lastVer.split("\\.");
int maxLen = newVerSplit.length > lastVerSplit.length ? newVerSplit.length : lastVerSplit.length;
for (int i = 0; i < maxLen; i++) {
int newVerNum = strToInt(i < newVerSplit.length ? newVerSplit[i] : "0");
int lastVerNum = strToInt(i < lastVerSplit.length ? lastVerSplit[i] : "0");
if (newVerNum > lastVerNum) {
return true;
} else if (newVerNum < lastVerNum) {
return false;
}
}
return false;
}
private static int strToInt(String numStr) {
try {
return Integer.parseInt(numStr);
} catch (Exception e) {
return 0;
}
}
测试用例:
isVersionNew("13.02.01","13.01.90")
isVersionNew("13.02.10","13.02.01")
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
2020-12-19 flutter开发dart基本数据类型与java、kotlin、oc、swift对照表