UUID.randomUUID()
Создаёт случайный UUID — 128-битный идентификатор, который практически никогда не повторяется.
Доступно с: Java 5
Синтаксис
public static UUID randomUUID()Возвращаемое значение
UUIDНовый UUID версии 4.
Примеры
Новый идентификатор при каждом вызове:
void main() {
UUID id = UUID.randomUUID();
IO.println(id);
IO.println(id.toString().length());
IO.println(id.version());
}Результат:
aedfd805-b0d7-42ce-9121-5d0dda73d486
36
4UUID.fromString() разбирает строку; регистр букв не важен:
void main() {
UUID a = UUID.fromString("3f2a6c1e-8b4d-4c7a-9e21-5d0f7b3a9c44");
UUID b = UUID.fromString("3F2A6C1E-8B4D-4C7A-9E21-5D0F7B3A9C44");
IO.println(a.equals(b));
IO.println(b);
}Результат:
true
3f2a6c1e-8b4d-4c7a-9e21-5d0f7b3a9c44Примечания
Строковая форма — 36 символов: 32 шестнадцатеричные цифры и 4 дефиса. Версия 4 содержит 122 случайных бита из SecureRandom, поэтому совпадение практически невозможно. UUID удобен как ключ записи, который можно создать без базы данных. UUID.nameUUIDFromBytes(bytes) всегда даёт один и тот же UUID (версии 3) для одних и тех же байтов. Неверная строка в fromString() вызывает IllegalArgumentException.
См. также
- Random — Генератор случайных чисел: целые в диапазоне, дробные, boolean.
- String.toUpperCase() — Возвращает копию строки, где все буквы заглавные.
- Object.equals() — Сравнивает объекты по смыслу. По умолчанию работает как ==, поэтому в своих классах его переопределяют.
В учебнике
- Классы и объекты — Что такое класс и объект в Java: поля, методы, оператор new, значения по умолчанию и ссылки на объекты.