android开发app升级时比较版本号的实现方法

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")
posted @   yongfengnice  阅读(205)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库
历史上的今天:
2020-12-19 flutter开发dart基本数据类型与java、kotlin、oc、swift对照表
点击右上角即可分享
微信分享提示