Spec-Zone.ru › OpenJDK 21

Класс UUID

java.lang.Object
java.util.UUID
Все реализуемые интерфейсы:
Serializable, Comparable<UUID>
public final class UUID extends Object implements Serializable, Comparable<UUID>
Класс, представляющий неизменяемый универсальный уникальный идентификатор (UUID). UUID представляет собой 128-битовое значение.

Существуют различные варианты этих глобальных идентификаторов. Методы этого класса предназначены для работы с вариантом Leach-Salz, хотя конструкторы позволяют создавать любой вариант UUID (описанный ниже).

Структура UUID варианта 2 (Leach-Salz) выглядит следующим образом: наиболее значительный long состоит из следующих беззнаковых полей:

 0xFFFFFFFF00000000 time_low
 0x00000000FFFF0000 time_mid
 0x000000000000F000 version
 0x0000000000000FFF time_hi
 
Наименее значительный long состоит из следующих беззнаковых полей:
 0xC000000000000000 variant
 0x3FFF000000000000 clock_seq
 0x0000FFFFFFFFFFFF node
 

Поле variant содержит значение, которое идентифицирует структуру UUID. Описанная выше структура разрядов справедлива только для UUID с значением variant, равным 2, что указывает на вариант Leach-Salz.

Поле version содержит значение, описывающее тип этого UUID. Существует четыре основных типа UUID: временные, безопасности DCE, основанные на имени и сгенерированные случайным образом. Эти типы имеют значения version 1, 2, 3 и 4 соответственно.

Дополнительная информация, включая алгоритмы создания UUIDs, см. в RFC 4122: A Universally Unique IDentifier (UUID) URN Namespace, раздел 4.2 "Алгоритмы создания временного UUID".

С:
1.5
Внешние спецификации
  • RFC 4122: A Universally Unique IDentifier (UUID) URN Namespace
См. также:
  • Сериализованная форма

Краткое описание конструкторов

Конструктор Описание
UUID(long mostSigBits, long leastSigBits)
Создаёт новый UUID с использованием указанных данных.

Краткое описание методов

Модификатор и тип Метод Описание
int clockSequence()
Значение последовательности часов, связанное с этим UUID.
int compareTo(UUID val)
Сравнивает этот UUID с указанным UUID.
boolean equals(Object obj)
Сравнивает этот объект с указанным объектом.
static UUID fromString(String name)
Создаёт UUID из строкового стандартного представления, как описано в методе toString().
long getLeastSignificantBits()
Возвращает наименее значительные 64 бита значения 128-битового UUID.
long getMostSignificantBits()
Возвращает наиболее значительные 64 бита значения 128-битового UUID.
int hashCode()
Возвращает хэш-код для этого UUID.
static UUID nameUUIDFromBytes(byte[] name)
Статический фабричный метод для получения UUID типа 3 (основанного на имени) на основе указанного массива байтов.
long node()
Значение узла, связанное с этим UUID.
static UUID randomUUID()
Статический фабричный метод для получения UUID типа 4 (сгенерированного псевдослучайным образом).
long timestamp()
Значение временной метки, связанное с этим UUID.
String toString()
Возвращает объект String, представляющий этот UUID.
int variant()
Номер варианта, связанный с этим UUID.
int version()
Номер версии, связанный с этим UUID.

Методы, объявленные в классе java.lang.Object

clone, finalize, getClass, notify, notifyAll, wait, wait, wait

Подробное описание конструкторов

UUID

public UUID(long mostSigBits, long leastSigBits)
Создаёт новый UUID с использованием указанных данных. mostSigBits используется для наиболее значимых 64 бит UUID, а leastSigBits становится наименее значимыми 64 битами UUID.
Параметры:
mostSigBits - Наиболее значимые биты UUID
leastSigBits - Наименее значимые биты UUID

Подробное описание методов

randomUUID

public static UUID randomUUID()
Статический фабричный метод для получения UUID типа 4 (генерируемый псевдослучайным образом). UUID генерируется с помощью криптографически стойкого генератора псевдослучайных чисел.
Возвращает:
Генерированный случайным образом UUID

nameUUIDFromBytes

public static UUID nameUUIDFromBytes(byte[] name)
Статический фабричный метод для получения UUID типа 3 (на основе имени) UUID на основе указанного массива байтов.
Параметры:
name - Массив байтов, используемый для построения UUID
Возвращает:
UUID, сгенерированный из указанного массива

fromString

public static UUID fromString(String name)
Создаёт UUID из строкового представления, как описано в методе toString().
Параметры:
name - Строка, которая определяет UUID
Возвращает:
UUID со значением, указанным в строке
Исключения:
IllegalArgumentException - Если строка не соответствует строковому представлению, как описано в toString()

getLeastSignificantBits

public long getLeastSignificantBits()
Возвращает наименее значимые 64 бита значения этого UUID (128 бит).
Возвращает:
Наименее значимые 64 бита значения этого UUID (128 бит)

getMostSignificantBits

public long getMostSignificantBits()
Возвращает наиболее значимые 64 бита значения этого UUID (128 бит).
Возвращает:
Наиболее значимые 64 бита значения этого UUID (128 бит)

version

public int version()
Номер версии, связанный с этим UUID. Номер версии описывает, как был сгенерирован этот UUID. Значения номера версии:
  • 1 Время-базируемый UUID
  • 2 DCE security UUID
  • 3 UUID на основе имени
  • 4 Случайный UUID
Возвращает:
Номер версии этого UUID

variant

public int variant()
Номер варианта, связанный с этим UUID. Номер варианта описывает структуру UUID. Значения номера варианта:
  • 0 Зарезервирован для обратной совместимости NCS
  • 2 IETF RFC 4122 (Leach-Salz), используется этим классом
  • 6 Зарезервирован, обратная совместимость Microsoft Corporation
  • 7 Зарезервирован для будущих определений
Возвращает:
Номер варианта этого UUID
Внешние спецификации
  • RFC 4122: Унифицированный идентификатор (UUID) пространство имён

timestamp

public long timestamp()
Значение временной метки, связанное с этим UUID.

Значение временной метки (60 бит) формируется из полей time_low, time_mid и time_hi этого UUID. Результирующая временная метка измеряется в 100-наносекундных единицах с полуночи 15 октября 1582 года UTC.

Значение временной метки имеет смысл только в UUID, основанном на времени, у которого тип версии 1. Если этот UUID не является UUID, основанным на времени, этот метод выбрасывает UnsupportedOperationException.

Возвращает:
Временную метку этого UUID.
Исключения:
UnsupportedOperationException - Если этот UUID не является UUID версии 1

clockSequence

public int clockSequence()
Значение последовательности тактов, связанное с этим UUID.

Значение последовательности тактов (14 бит) формируется из поля clock sequence этого UUID. Поле последовательности тактов используется для гарантии временной уникальности в UUID, основанном на времени.

Значение последовательности тактов имеет смысл только в UUID, основанном на времени, у которого тип версии 1. Если этот UUID не является UUID, основанным на времени, этот метод выбрасывает UnsupportedOperationException.

Возвращает:
Последовательность тактов этого UUID
Исключения:
UnsupportedOperationException - Если этот UUID не является UUID версии 1

node

public long node()
Значение узла, связанное с этим UUID.

Значение узла (48 бит) формируется из поля node этого UUID. Это поле предназначено для хранения адреса IEEE 802 машины, сгенерировавшей этот UUID, для обеспечения пространственной уникальности.

Значение узла имеет смысл только в UUID, основанном на времени, у которого тип версии 1. Если этот UUID не является UUID, основанным на времени, этот метод выбрасывает UnsupportedOperationException.

Возвращает:
Значение узла этого UUID
Исключения:
UnsupportedOperationException - Если этот UUID не является UUID версии 1

toString

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

Строковое представление UUID задаётся следующим BNF:

 
 UUID                   = <time_low> "-" <time_mid> "-"
                          <time_high_and_version> "-"
                          <variant_and_sequence> "-"
                          <node>
 time_low               = 4*<hexOctet>
 time_mid               = 2*<hexOctet>
 time_high_and_version  = 2*<hexOctet>
 variant_and_sequence   = 2*<hexOctet>
 node                   = 6*<hexOctet>
 hexOctet               = <hexDigit><hexDigit>
 hexDigit               =
       "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
       | "a" | "b" | "c" | "d" | "e" | "f"
       | "A" | "B" | "C" | "D" | "E" | "F"
 
Переопределяет:
toString в классе Object
Возвращает:
Строковое представление этого UUID

hashCode

public int hashCode()
Возвращает код хэша для этого UUID.
Переопределяет:
hashCode в классе Object
Возвращает:
Значение кода хэша для этого UUID
См. также:
  • Object.equals(java.lang.Object)
  • System.identityHashCode(java.lang.Object)

equals

public boolean equals(Object obj)
Сравнивает этот объект с указанным объектом. Результат равен true тогда и только тогда, когда аргумент не null, является объектом типа UUID, имеет тот же вариант и содержит то же значение, бит за битом, что и этот UUID.
Переопределяет:
equals в классе Object
Параметры:
obj - Объект для сравнения
Возвращает:
true если объекты совпадают; false в противном случае
См. также:
  • Object.hashCode()
  • HashMap

compareTo

public int compareTo(UUID val)
Сравнивает этот UUID с указанным UUID.

Первый из двух UUID больше второго, если наибольшее значимое поле, в котором UUID отличаются, больше для первого UUID.

Определяет:
compareTo в интерфейсе Comparable<UUID>
Параметры:
val - UUID, с которым сравнивается этот UUID
Возвращает:
-1, 0 или 1, в зависимости от того, меньше, равен или больше этот UUID чем val

© 1993, 2023, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/21/docs/api/java.base/java/util/UUID.html

Spec-Zone.ru

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