Créer UUID avec des zéros

j'essaie de générer un UUID avec tous les zéros:

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

L'erreur est

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

Ce que je fais mal?

je veux créer soit "MinValue" ou "Invalid" UUID.

17
demandé sur アレックス 2013-12-30 17:09:36

3 réponses

essayez ceci

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

il imprime

00000000-0000-0000-0000-000000000000

c'est le bon format à utiliser dans UUID.fromString

36
répondu Evgeniy Dorofeev 2013-12-30 13:26:45

N'est-ce pas censé être 8-4-4-4-12? pareil: 00000000-0000-0000-0000-000000000000

11
répondu Craig Moore 2013-12-30 13:12:15

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

L'UUID "nil", un cas spécial, est l'UUID, 00000000-0000-0000-0000-000000000000; c'est-à-dire, tous les bits mis à zéro.

les tirets devraient suivre le format normal 8-4-4-4-4-12 parce que c'est ce que les normes disent d'utiliser et beaucoup (la plupart?) les outils renforcent cela sur l'entrée.

outils accepter d'autres formats, par exemple, 32 hex les chiffres sans tirets, parce qu'ils suppriment simplement les tirets (s'ils sont présents) avant la validation de toute façon, mais l'outil particulier que vous utilisez est un peu plus strict/plus intelligent, ce qui montre que l'utilisation de formats non standard est une mauvaise habitude qui finira par vous mordre.

0
répondu Stephen Sprunk 2018-07-31 21:13:08