Class BroId

java.lang.Object
icu.congee.id.generator.broid.BroId
All Implemented Interfaces:
Comparable<BroId>
Direct Known Subclasses:
UUIDv8BroId

public class BroId extends Object implements Comparable<BroId>
  • Constructor Details

    • BroId

      public BroId()
  • Method Details

    • toString

      public String toString()
      Overrides:
      toString in class Object
    • toLong

      public Long toLong()
      将BroId转换为长整型数值。 注意:此方法可能会因为BroId的位数超过64位而导致数据丢失。
      Returns:
      BroId的长整型表示
    • toUUID

      public UUID toUUID()
      将BroId转换为标准的UUID。 转换过程会将前64位作为UUID的最高有效位(MSB),后64位作为最低有效位(LSB)。
      Returns:
      UUID实例
    • toUUID

      public UUID toUUID(IdType idType)
      将BroId转换为指定类型的UUID。 目前仅支持转换为UUIDv8类型,会根据RFC规范设置相应的版本和变体位。
      Parameters:
      idType - UUID的目标类型
      Returns:
      指定类型的UUID实例,如果不支持指定的类型则返回null
    • compareTo

      public int compareTo(BroId other)
      比较两个BroId实例,基于它们的value值 如果value列表长度不同,则较短的列表被视为较小 如果value列表长度相同,则通过逐位比较位列表中的布尔值
      Specified by:
      compareTo in interface Comparable<BroId>
      Parameters:
      other - 要比较的另一个BroId实例
      Returns:
      负数、零或正数,分别表示此BroId小于、等于或大于指定的BroId
    • getComparator

      public static Comparator<BroId> getComparator()
      返回一个比较器,用于比较两个BroId实例
      Returns:
      用于比较BroId实例的比较器
    • equals

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Overrides:
      hashCode in class Object