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
}
Функции
Требования к платформе и версии: Common (2.4)
fun toByteArray(): ByteArray
Возвращает представление этого UUID в виде массива байтов.
Требования к платформе и версии: Common (2.4)
fun toHexDashString(): String
Возвращает стандартное строковое представление этого UUID в формате с шестнадцатеричными цифрами и дефисами.
Требования к платформе и версии: Common (2.4)
fun toHexString(): String
Возвращает шестнадцатеричное строковое представление этого UUID без дефисов.
Требования к платформе и версии: JVM (2.4)
inline fun Uuid.toJavaUuid(): UUID
Преобразует значение kotlin.uuid.Uuid в соответствующее значение java.util.UUID.
Требования к платформе и версии: Common (2.4)
fun toUByteArray(): UByteArray
Возвращает представление этого UUID в виде массива беззнаковых байтов.
© 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/