Spec-Zone.ru › Kotlin 2

Uuid

kotlin-stdlib/kotlin.uuid/Uuid

Требования к платформе и версии: Common (2.4)

class Uuid : Comparable<Uuid> , Serializable

Представляет собой универсальный уникальный идентификатор (UUID), также известный как глобальный уникальный идентификатор (GUID).

UUID — это 128-битное значение, используемое для уникальной идентификации объектов во всем мире. Они особенно полезны в средах, где отсутствует централизованный орган регистрации или механизм координации генерации идентификаторов, что делает UUID особенно подходящими для распределённых систем.

Стандартное текстовое представление UUID, также известное как формат «шестнадцатеричные цифры и дефисы», выглядит так: «xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx», где «x» обозначает шестнадцатеричную цифру, например «550e8400-e29b-41d4-a716-446655440000». В этом формате дефисы разделяют различные части UUID, повышая удобочитаемость.

Этот класс предоставляет вспомогательные функции для:

  • Генерации UUID.

  • Создания UUID из заданных 128 бит.

  • Разбора UUID из строкового представления и преобразования UUID в строковое представление.

  • Преобразования UUID в массивы байтов и обратно.

  • Сравнения UUID для определения порядка или равенства.

Обратите внимание, что Uuid имеет семантику значений и в будущем может стать value-классом (подробнее о много-полевых value-классах см. (KEEP-0454)[https://github.com/Kotlin/KEEP/blob/main/proposals/KEEP-0454-better-immutability-value-classes-MFVC.md]). Не рекомендуется полагаться на идентичность Uuid (то есть не сравнивать два объекта Uuid с помощью === и не хранить ссылку на него в kotlin.concurrent.atomics.AtomicReference). Операции над Uuid, основанные на идентичности, в будущих версиях Kotlin могут сопровождаться предупреждениями.

Примеры

import kotlin.test.*
import kotlin.time.Instant
import kotlin.uuid.*

fun main() { 
   //sampleStart 
   // Parsing is case-insensitive
val uuid1 = Uuid.parse("550E8400-e29b-41d4-A716-446655440000") // hex-and-dash
val uuid2 = Uuid.parse("550e8400E29b41D4a716446655440000") // hexadecimal

println("uuid1 == uuid2 is ${uuid1 == uuid2}") // true
println(uuid1) // 550e8400-e29b-41d4-a716-446655440000
println(uuid2) // 550e8400-e29b-41d4-a716-446655440000

// Uuid.parse("I'm not a UUID, sorry") // will fail with IllegalArgumentException 
   //sampleEnd
}
import kotlin.test.*
import kotlin.time.Instant
import kotlin.uuid.*

fun main() { 
   //sampleStart 
   val byteArray = byteArrayOf(
    0x55, 0x0e, 0x84.toByte(), 0x00, 0xe2.toByte(), 0x9b.toByte(), 0x41, 0xd4.toByte(),
    0xa7.toByte(), 0x16, 0x44, 0x66, 0x55, 0x44, 0x00, 0x00
)
val uuid = Uuid.fromByteArray(byteArray)
println(uuid) // 550e8400-e29b-41d4-a716-446655440000 
   //sampleEnd
}
import kotlin.test.*
import kotlin.time.Instant
import kotlin.uuid.*

fun main() { 
   //sampleStart 
   // Generates a random and unique uuid each time
val uuid1 = Uuid.random()
val uuid2 = Uuid.random()
val uuid3 = Uuid.random()

println(uuid1 == uuid2) // false
println(uuid1 == uuid3) // false
println(uuid2 == uuid3) // false 
   //sampleEnd
}

Типы

Companion

Требования к платформе и версии: Common (2.4)

object Companion

Функции

compareTo

Требования к платформе и версии: Common (2.4)

open operator override fun compareTo(other: Uuid): Int

Сравнивает этот UUID с другим UUID в лексикографическом порядке.

compareTo

Требования к платформе и версии: Common (1.6)

infix inline fun <T> Comparable<T>.compareTo(other: T): Int

Сравнивает этот объект с указанным объектом, определяя их порядок. Возвращает ноль, если этот объект равен указанному другому объекту, отрицательное число, если он меньше другого, или положительное число, если он больше другого.

equals

Требования к платформе и версии: Common (2.4)

open operator override fun equals(other: Any?): Boolean

Проверяет, равен ли этот UUID указанному объекту other.

hashCode

Требования к платформе и версии: Common (2.4)

open override fun hashCode(): Int

Возвращает хеш-код объекта.

toByteArray

Требования к платформе и версии: Common (2.4)

fun toByteArray(): ByteArray

Возвращает представление этого UUID в виде массива байтов.

toHexDashString

Требования к платформе и версии: Common (2.4)

fun toHexDashString(): String

Возвращает стандартное строковое представление этого UUID в формате с шестнадцатеричными цифрами и дефисами.

toHexString

Требования к платформе и версии: Common (2.4)

fun toHexString(): String

Возвращает шестнадцатеричное строковое представление этого UUID без дефисов.

toJavaUuid

Требования к платформе и версии: JVM (2.4)

inline fun Uuid.toJavaUuid(): UUID

Преобразует значение kotlin.uuid.Uuid в соответствующее значение java.util.UUID.

toLongs

Требования к платформе и версии: Common (2.4)

inline fun <T> toLongs(action: (mostSignificantBits: Long, leastSignificantBits: Long) -> T): T

Выполняет указанный блок кода, предоставляя доступ к битам UUID в виде двух значений типа Long.

toString

Требования к платформе и версии: Common (2.4)

open override fun toString(): String

Возвращает стандартное строковое представление этого UUID.

toUByteArray

Требования к платформе и версии: Common (2.4)

@ExperimentalUnsignedTypes
fun toUByteArray(): UByteArray

Возвращает представление этого UUID в виде массива беззнаковых байтов.

toULongs

Требования к платформе и версии: Common (2.4)

inline fun <T> toULongs(action: (mostSignificantBits: ULong, leastSignificantBits: ULong) -> T): T

Выполняет указанный блок кода, предоставляя доступ к битам UUID в виде двух значений типа ULong.

© 2010–2026 JetBrains s.r.o. and Kotlin Programming Language contributors
Licensed under the Apache License, Version 2.0.
https://kotlinlang.org/api/core/kotlin-stdlib/kotlin.uuid/-uuid/

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API