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; // 版本号完全相同
}
}