Spec-Zone.ru › OpenJDK 17

Класс 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) выглядит следующим образом: Наиболее значимое целое число состоит из следующих беззнаковых полей:

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

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

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

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

С:
1.5
См. также:
  • Сериализованная форма

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

Конструктор Описание
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 (на основе имени) на основе указанного массива байтов.
Параметры:
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 UUID безопасности DCE
  • 3 UUID, основанный на имени
  • 4 UUID, сгенерированный случайным образом
Возвращает:
Номер версии этого UUID

variant

public int variant()
Номер варианта, связанный с этим UUID. Номер варианта описывает расположение UUID. Номер варианта имеет следующее значение:
  • 0 Зарезервировано для обратной совместимости NCS
  • 2 IETF RFC 4122 (Leach-Salz), используется в этом классе
  • 6 Зарезервировано, обратная совместимость корпорации Microsoft
  • 7 Зарезервировано для будущих определений
Возвращает:
Номер варианта этого 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. Поле clock sequence используется для обеспечения временной уникальности в 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, 2021, 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/17/docs/api/java.base/java/util/UUID.html

Spec-Zone.ru

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