Ce face UUID.fromString
UUID.fromString citește un UUID primit ca text (din URL, din baza de date, dintr-un fișier JSON) și creează obiectul UUID. Literele mari și mici sunt acceptate la fel; toString() le scrie apoi cu litere mici.
Dacă textul nu are forma corectă (cratime lipsă, caractere care nu sunt hexazecimale, lungime greșită), aruncă IllegalArgumentException. Prinde excepția când textul vine de la utilizator.
Parametri
| Parametru | Descriere |
|---|---|
text |
UUID-ul ca text, de exemplu "3f2b8c1e-9a47-4d0b-b6e2-71c5d8a90f14". |
Ce returnează
Un obiect UUID.
Exemple
Exemplul 1: Citirea unui UUID dintr-un link
import java.util.UUID;
public class Main {
public static void main(String[] args) {
String link = "https://magazin.ro/comanda/3F2B8C1E-9A47-4D0B-B6E2-71C5D8A90F14";
String parte = link.substring(link.lastIndexOf('/') + 1);
UUID cod = UUID.fromString(parte);
System.out.println("Cod: " + cod);
System.out.println("Versiune: " + cod.version());
System.out.println("Egal cu varianta cu litere mici: "
+ cod.equals(UUID.fromString("3f2b8c1e-9a47-4d0b-b6e2-71c5d8a90f14")));
}
}
Rezultat
Cod: 3f2b8c1e-9a47-4d0b-b6e2-71c5d8a90f14
Versiune: 4
Egal cu varianta cu litere mici: true
Exemplul 2: Validarea unor coduri primite
import java.util.UUID;
public class Main {
static boolean esteUuid(String text) {
try {
UUID.fromString(text);
return text.length() == 36;
} catch (IllegalArgumentException e) {
return false;
}
}
public static void main(String[] args) {
String[] coduri = {
"c0a81f52-0e3d-4b9a-8f61-2d7e4c19ab03",
"c0a81f52-0e3d-4b9a-8f61",
"comanda-ana-1042",
"zzzzzzzz-0e3d-4b9a-8f61-2d7e4c19ab03",
};
for (String c : coduri) {
System.out.println(c + " -> " + (esteUuid(c) ? "valid" : "invalid"));
}
}
}
Rezultat
c0a81f52-0e3d-4b9a-8f61-2d7e4c19ab03 -> valid
c0a81f52-0e3d-4b9a-8f61 -> invalid
comanda-ana-1042 -> invalid
zzzzzzzz-0e3d-4b9a-8f61-2d7e4c19ab03 -> invalid
Exemplul 3: Dus și întors: toString și fromString
import java.util.UUID;
public class Main {
public static void main(String[] args) {
UUID original = new UUID(0x1234_5678_9ABC_4DEFL, 0x8000_0000_0000_0001L);
String text = original.toString();
UUID inapoi = UUID.fromString(text);
System.out.println(text);
System.out.println("Același UUID: " + original.equals(inapoi));
}
}
Rezultat
12345678-9abc-4def-8000-000000000001
Același UUID: true
Greșeli frecvente
- Te bazezi doar pe
fromStringpentru validare strictă. Unele forme scurte sau cu zerouri lipsă pot fi acceptate; verifică și lungimea de 36 de caractere. - Nu prinzi
IllegalArgumentExceptionpentru textul venit de la utilizator. Un link greșit oprește programul.
Comenzi înrudite
UUID: Identificator unic de 128 de biți (ex. 3f2b8c1e-…); UUID.randomUUID() creează unul aleatoriu, practic imposibil de repetat.IllegalArgumentException: Excepția aruncată când o metodă primește un argument cu valoare nepermisă (vârstă negativă, lună 13).String.substring: Returnează o bucată din șir: de la beginIndex (inclusiv) până la endIndex (exclusiv) sau până la final.