Создать UUID с нулями

Я пытаюсь создать UUID со всеми нулями:

java.util.UUID fromString "00000000-00000000-00000000-00000000"

Ошибка

 java.lang.IllegalArgumentException: Invalid UUID string: 00000000-00000000-00000000-00000000
    at java.util.UUID.fromString(UUID.java:194)

Что я делаю не так?

Я хочу создать либо "MinValue", либо "Invalid" UUID.

Ответ 1

попробуй это

System.out.println(new UUID(0,0));

он печатает

00000000-0000-0000-0000-000000000000

это правильный формат для использования в UUID.fromString

Ответ 2

Разве это не должно быть 8-4-4-4-12? например: 00000000-0000-0000-0000-000000000000

Ответ 3

Из https://en.wikipedia.org/wiki/Universally_unique_identifier#Nil_UUID:

"Nil" UUID, особый случай, является UUID, 00000000-0000-0000-0000-000000000000; то есть все биты устанавливаются в ноль.

Черточки должны следовать нормальному 8-4-4-4-12 формату, потому что то, что стандарты говорят использовать, и многие (большинство?) Инструментов обеспечивают это на входе.

Некоторые инструменты могут принимать другие форматы, например, 32 шестнадцатеричных цифры без дефиса, поскольку они просто удаляют тире (если они есть) до валидации в любом случае, но конкретный инструмент, который вы используете, немного строже/умнее, что показывает, стандартные форматы - это плохая привычка, которая в конечном итоге кусает вас.