package com.qmth.boot.data.upgrade.utils;

import java.util.Comparator;

public class VersionComparator implements Comparator<String> {

    @Override
    public int compare(String v1, String v2) {
        // 分割版本号为数字段
        String[] parts1 = v1.split("\\.");
        String[] parts2 = v2.split("\\.");

        // 获取最大段数
        int maxLength = Math.max(parts1.length, parts2.length);

        for (int i = 0; i < maxLength; i++) {
            // 处理长度不一致的情况，缺失段视为0
            int num1 = (i < parts1.length) ? Integer.parseInt(parts1[i]) : 0;
            int num2 = (i < parts2.length) ? Integer.parseInt(parts2[i]) : 0;

            if (num1 != num2) {
                return Integer.compare(num1, num2);
            }
        }
        return 0;
    }

}
