VersionComparator.java 911 Bytes
package com.lhcredit.common.utils;

import java.io.Serializable;
import java.util.Collections;
import java.util.Comparator;
import java.util.Objects;
import java.util.function.Function;

public class VersionComparator implements Comparator<String> {
    @Override
    public int compare(String version1, String version2) {
        // 将版本号按点号拆分为数组
        String[] parts1 = version1.split("\\.");
        String[] parts2 = version2.split("\\.");

        // 逐段比较版本号
        int maxLength = Math.max(parts1.length, parts2.length);
        for (int i = 0; i < maxLength; i++) {
            int v1 = i < parts1.length ? Integer.parseInt(parts1[i]) : 0;
            int v2 = i < parts2.length ? Integer.parseInt(parts2[i]) : 0;
            if (v1 != v2) {
                return Integer.compare(v1, v2);
            }
        }
        return 0; // 版本号完全相同
    }
}