UUID

一个不可变的 "universally unique identifier" (UUID) 。

UUID 是一个128位的不可变唯一标识,由两个分别代表高低位的 Long 组成。

UUID 的实现逻辑大多数参考自 Java 的 java.util.UUID,在多平台化实现中进行了部分调整。

see also: RFC 4122: A Universally Unique IDentifier (UUID) URN Namespace

See also

java.util.UUID

Types

Link copied to clipboard
object Companion
Link copied to clipboard

UUID 的序列化器,会将其作为字符串处理。

Link copied to clipboard

直接将 UUID 作为一个具有两个 Long 的结构体进行序列化的序列化器。

Properties

Link copied to clipboard
Link copied to clipboard

Inherited properties

Link copied to clipboard

UUID 转化为 Java UUID

Link copied to clipboard

ID.toString, 得到 ID 的字面值。

Functions

Link copied to clipboard
open operator override fun compareTo(other: ID): Int

与另一个 ID 进行比较。

Link copied to clipboard
open override fun copy(): ID

复制一个当前ID。

Link copied to clipboard
open operator override fun equals(other: Any?): Boolean

判断与另一个目标是否为 ID 且字面值相同。

Link copied to clipboard
open override fun equalsExact(other: Any?): Boolean

判断另一个目标是否是 UUID,且值相同。

Link copied to clipboard
open override fun hashCode(): Int

ID 的源值 hashcode,等于对应的源值的 hashcode。

Link copied to clipboard
open override fun toString(): String

得到 UUID 的字符串字面值。

Inherited functions

Link copied to clipboard
@JvmName(name = "toInt")
inline fun ID.toInt(notNumerical: ID.() -> Int = { literal.toInt() }): Int

尝试将 this 转化为 Int。 如果为 NumericalID 则直接使用 NumericalID.toInt, 否则使用 notNumerical 转化。默认会尝试使用 literal.toInt()

Link copied to clipboard
@JvmName(name = "toIntID")
inline fun ID.toIntID(notNumerical: ID.() -> IntID = { literal.toInt().ID }): IntID

尝试将 this 转为 IntID 类型。 如果不是数字ID,则会使用 notNumerical 获取结果。默认使用 String.toInt

Link copied to clipboard
@JvmName(name = "toIntOrNull")
inline fun ID.toIntOrNull(notNumerical: ID.() -> Int? = { literal.toIntOrNull() }): Int?

尝试将 this 转化为 Int。 如果为 NumericalID 则直接使用 NumericalID.toInt, 否则使用 notNumerical 转化。默认会尝试使用 literal.toIntOrNull()

Link copied to clipboard

UUID 转化为 java.util.UUID

Link copied to clipboard
Link copied to clipboard
@JvmName(name = "toLong")
inline fun ID.toLong(notNumerical: ID.() -> Long = { literal.toLong() }): Long

尝试将 this 转化为 Long。 如果为 NumericalID 则直接使用 NumericalID.toLong, 否则使用 notNumerical 转化。默认会尝试使用 literal.toLong()

Link copied to clipboard
@JvmName(name = "toLongID")
inline fun ID.toLongID(notNumerical: ID.() -> LongID = { literal.toLong().ID }): LongID

尝试将 this 转为 LongID 类型。 如果不是数字ID,则会使用 notNumerical 获取结果。默认使用 String.toLong

Link copied to clipboard
@JvmName(name = "toLongOrNull")
inline fun ID.toLongOrNull(notNumerical: ID.() -> Long? = { literal.toLongOrNull() }): Long?

尝试将 this 转化为 Long。 如果为 NumericalID 则直接使用 NumericalID.toLong, 否则使用 notNumerical 转化。默认会尝试使用 literal.toLongOrNull()

Link copied to clipboard
@JvmName(name = "toUInt")
inline fun ID.toUInt(notNumerical: ID.() -> UInt = { literal.toUInt() }): UInt

尝试将 this 转化为 UInt。 如果为 NumericalID 则直接使用 NumericalID.toInt.toUInt, 否则使用 notNumerical 转化。默认会尝试使用 literal.toUInt()

Link copied to clipboard
@JvmName(name = "toUIntID")
inline fun ID.toUIntID(notNumerical: ID.() -> UIntID = { literal.toUInt().ID }): UIntID

尝试将 this 转为 UIntID 类型。 如果不是数字ID,则会使用 notNumerical 获取结果。默认使用 String.toUInt

Link copied to clipboard
@JvmName(name = "toUIntOrNull")
inline fun ID.toUIntOrNull(notNumerical: ID.() -> UInt? = { literal.toUIntOrNull() }): UInt?

尝试将 this 转化为 UInt。 如果为 NumericalID 则直接使用 NumericalID.toInt.toUInt, 否则使用 notNumerical 转化。默认会尝试使用 literal.toUIntOrNull()

Link copied to clipboard
@JvmName(name = "toULong")
inline fun ID.toULong(notNumerical: ID.() -> ULong = { literal.toULong() }): ULong

尝试将 this 转化为 ULong。 如果为 NumericalID 则直接使用 NumericalID.toLong.toULong, 否则使用 notNumerical 转化。默认会尝试使用 literal.toULong()

Link copied to clipboard
@JvmName(name = "toULongID")
inline fun ID.toULongID(notNumerical: ID.() -> ULongID = { literal.toULong().ID }): ULongID

尝试将 this 转为 ULongID 类型。 如果不是数字ID,则会使用 notNumerical 获取结果。默认使用 String.toULong

Link copied to clipboard
@JvmName(name = "toULongOrNull")
inline fun ID.toULongOrNull(notNumerical: ID.() -> ULong? = { literal.toULongOrNull() }): ULong?

尝试将 this 转化为 ULong。 如果为 NumericalID 则直接使用 NumericalID.toLong.toULong, 否则使用 notNumerical 转化。默认会尝试使用 literal.toULongOrNull()