Android APP版本更新的比较(版本号比较)

本文介绍了一个用于比较软件版本号的算法实现,通过解析版本号字符串并逐段对比数字大小,最终确定两个版本号之间的大小关系。该算法适用于各种格式的版本号,包括带有小数点的版本号。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

还是看着java  compareTo() 内部的方法来实现的
/**
 * @auhor hl
 * @dataCompareVersionon 11:39
 * 描述
 * 作者 洪亮 admin
 */
public class CompareVersion {

    /**
     * 版本号比较
     * compareTo()方法返回值为int类型,就是比较两个值,如:x.compareTo(y)。如果前者大于后者,返回1,前者等于后者则返回0,前者小于后者则返回-1
     * @param s1
     * @param s2
     * @return 范围可以是"2.20.", "2.10.0"  ,".20","2.10.0",2.1.3 ,3.7.5,10.2.0
     */
    public static int compareVersion(String s1, String s2) {
        String[] s1Split = s1.split("\\.", -1);
        String[] s2Split = s2.split("\\.", -1);
        int len1 = s1Split.length;
        int len2 = s2Split.length;
        int lim = Math.min(len1, len2);
        int i = 0;
        while (i < lim) {
            int c1 = "".equals(s1Split[i]) ? 0 : Integer.parseInt(s1Split[i]);
            int c2 = "".equals(s2Split[i]) ? 0 : Integer.parseInt(s2Split[i]);
            if (c1 != c2) {
                return c1 - c2;
            }
            i++;
        }
        return len1 - len2;
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值