Class IdUtil

java.lang.Object
icu.congee.id.util.IdUtil

public class IdUtil extends Object
ID生成工具类

该工具类提供了多种ID生成策略的静态方法,包括: - 基于时间的业务ID和随机ID - 多种版本的UUID(v7、v8等) - 分布式ID(如CosId) - 其他特殊用途的ID

Since:
1.0
Author:
ixiongdi
  • Constructor Details

    • IdUtil

      public IdUtil()
  • Method Details

    • businessId

      public static Long businessId()
      生成基于时间的业务ID
      Returns:
      生成的业务ID
    • randomId

      public static Long randomId()
      生成基于时间的随机ID
      Returns:
      生成的随机ID
    • unixTimeBasedUUID

      public static UUID unixTimeBasedUUID()
      生成基于Unix时间戳的UUID v7
      Returns:
      生成的UUID v7
    • unixTimeBasedUUID1

      public static UUID unixTimeBasedUUID1()
      生成使用专用计数器的UUID v7
      Returns:
      生成的UUID v7
    • unixTimeBasedUUID2

      public static UUID unixTimeBasedUUID2()
      生成具有增强时钟精度的UUID v7
      Returns:
      生成的UUID v7
    • customUUID

      public static UUID customUUID()
      生成自定义UUID v8
      Returns:
      生成的UUID v8
    • broId

      public static UUID broId()
      生成BroId并转换为UUID
      Returns:
      生成的UUID格式的BroId
    • ulid

      public static String ulid()
      生成ULID(Universally Unique Lexicographically Sortable Identifier)
      Returns:
      生成的ULID字符串
    • cosid

      public static String cosid()
      生成CosId(Coordinated Snowflake ID)
      Returns:
      生成的CosId字符串
    • lexicalUUID

      public static String lexicalUUID()
      生成字典序UUID
      Returns:
      生成的字典序UUID字符串
    • fastToString

      public static String fastToString(UUID uuid)
      使用高效的toString方法将UUID转换为字符串
      Parameters:
      uuid - 要转换的UUID
      Returns:
      UUID的字符串表示
    • fastUUIDv7String

      public static String fastUUIDv7String()
      生成一个UUID v7并使用高效的toString方法转换为字符串
      Returns:
      UUID v7的字符串表示
    • getIdGeneratorMap

      public static Map<IdType,IdGenerator> getIdGeneratorMap()
      获取所有可用的ID生成器映射

      使用Java的ServiceLoader机制加载所有实现了IdGenerator接口的生成器, 并按照其ID类型进行映射。

      Returns:
      ID类型到生成器的映射