Package icu.congee.id.util
Class IdUtil
java.lang.Object
icu.congee.id.util.IdUtil
ID生成工具类
该工具类提供了多种ID生成策略的静态方法,包括: - 基于时间的业务ID和随机ID - 多种版本的UUID(v7、v8等) - 分布式ID(如CosId) - 其他特殊用途的ID
- Since:
- 1.0
- Author:
- ixiongdi
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic UUIDbroId()生成BroId并转换为UUIDstatic Long生成基于时间的业务IDstatic Stringcosid()生成CosId(Coordinated Snowflake ID)static UUID生成自定义UUID v8static StringfastToString(UUID uuid) 使用高效的toString方法将UUID转换为字符串static String生成一个UUID v7并使用高效的toString方法转换为字符串static Map<IdType, IdGenerator> 获取所有可用的ID生成器映射static String生成字典序UUIDstatic LongrandomId()生成基于时间的随机IDstatic Stringulid()生成ULID(Universally Unique Lexicographically Sortable Identifier)static UUID生成基于Unix时间戳的UUID v7static UUID生成使用专用计数器的UUID v7static UUID生成具有增强时钟精度的UUID v7
-
Constructor Details
-
IdUtil
public IdUtil()
-
-
Method Details
-
businessId
生成基于时间的业务ID- Returns:
- 生成的业务ID
-
randomId
生成基于时间的随机ID- Returns:
- 生成的随机ID
-
unixTimeBasedUUID
生成基于Unix时间戳的UUID v7- Returns:
- 生成的UUID v7
-
unixTimeBasedUUID1
生成使用专用计数器的UUID v7- Returns:
- 生成的UUID v7
-
unixTimeBasedUUID2
生成具有增强时钟精度的UUID v7- Returns:
- 生成的UUID v7
-
customUUID
生成自定义UUID v8- Returns:
- 生成的UUID v8
-
broId
生成BroId并转换为UUID- Returns:
- 生成的UUID格式的BroId
-
ulid
生成ULID(Universally Unique Lexicographically Sortable Identifier)- Returns:
- 生成的ULID字符串
-
cosid
生成CosId(Coordinated Snowflake ID)- Returns:
- 生成的CosId字符串
-
lexicalUUID
生成字典序UUID- Returns:
- 生成的字典序UUID字符串
-
fastToString
使用高效的toString方法将UUID转换为字符串- Parameters:
uuid- 要转换的UUID- Returns:
- UUID的字符串表示
-
fastUUIDv7String
生成一个UUID v7并使用高效的toString方法转换为字符串- Returns:
- UUID v7的字符串表示
-
getIdGeneratorMap
获取所有可用的ID生成器映射使用Java的ServiceLoader机制加载所有实现了IdGenerator接口的生成器, 并按照其ID类型进行映射。
- Returns:
- ID类型到生成器的映射
-