Class VersionComparatorUtil

java.lang.Object
com.ultikits.ultitools.utils.VersionComparatorUtil

public final class VersionComparatorUtil extends Object
语义版本比较工具类

替代 hutool VersionComparator

支持格式: 1.0.0, 1.0.0-SNAPSHOT, 1.0.0-alpha.1, 1.0.0-beta

Since:
6.2.0
Author:
wisdomme
  • Field Details

    • COMPARATOR

      public static final Comparator<String> COMPARATOR
      版本比较器单例
  • Constructor Details

    • VersionComparatorUtil

      private VersionComparatorUtil()
  • Method Details

    • compare

      public static int compare(String v1, String v2)
      比较两个版本号
      Parameters:
      v1 - 版本1
      v2 - 版本2
      Returns:
      负数: v1 < v2, 0: v1 == v2, 正数: v1 > v2
    • isLessThan

      public static boolean isLessThan(String v1, String v2)
      判断 v1 是否小于 v2
    • isGreaterThan

      public static boolean isGreaterThan(String v1, String v2)
      判断 v1 是否大于 v2
    • isEqual

      public static boolean isEqual(String v1, String v2)
      判断 v1 是否等于 v2
    • stripPrefix

      private static String stripPrefix(String version)
      去除版本号前缀
    • compareSegment

      private static int compareSegment(String s1, String s2)
      比较单个版本段

      数字优先,非数字按字典序 特殊处理: SNAPSHOT, alpha, beta, rc 等预发布标识

    • parseIntOrNull

      private static Integer parseIntOrNull(String s)
      解析整数,失败返回 null
    • getPreReleasePriority

      private static int getPreReleasePriority(String segment)
      获取预发布版本优先级

      alpha < beta < rc < SNAPSHOT < (release)