Question

I'm trying to generate a UUID with all zeros:

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

The error is

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

What am I doing wrong?

I want to create either "MinValue" or "Invalid" UUID.

Was it helpful?

Solution

try this

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

it prints

00000000-0000-0000-0000-000000000000

this is the right format to use in UUID.fromString

OTHER TIPS

Isn't it supposed to be 8-4-4-4-12? like this: 00000000-0000-0000-0000-000000000000

From https://en.wikipedia.org/wiki/Universally_unique_identifier#Nil_UUID:

The "nil" UUID, a special case, is the UUID, 00000000-0000-0000-0000-000000000000; that is, all bits set to zero.

The dashes should follow the normal 8-4-4-4-12 format because that's what the standards say to use and many (most?) tools enforce that on input.

Some tools may accept other formats, e.g. 32 hex digits with no dashes, because they just remove the dashes (if present) before validation anyway, but the particular tool you're using is a bit stricter/smarter, which shows that using non-standard formats is a bad habit that will end up biting you.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top