web-dev-qa-db-fra.com

Créer UUID avec des zéros

J'essaie de générer une 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)

Qu'est-ce que je fais mal?

Je veux créer des "mintailles" ou "invalides" uuid.

25
アレックス

essaye ça

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

il imprime

00000000-0000-0000-0000-000000000000

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

50
Evgeniy Dorofeev

N'est-il pas censé être 8-4-4-4-12? Comme ceci: 00000000-0000-0000-0000-000000000000

11
Craig Moore

De https://fr.wikipedia.org/wiki/universally_unique_identififier#nil_uuid :

L'UUID "NIL", un cas particulier, est l'UUID, 00000000-0000-0000-0000-00000000000000; C'est-à-dire que tous les bits réglaient à zéro.

Les tirets devraient suivre le format normal 8-4-4-4-12, car c'est ce que les normes disent à utiliser et de nombreux outils (la plupart?) Appliquent cela sur la contribution.

Certains outils peuvent acceptent d'autres formats, par exemple 32 chiffres hexagonaux sans tirets, car ils ne font que retirer les tirets (si 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 sera finissez par vous mordre.

1
StephenS