diff --git a/core-java-modules/core-java-8-2/src/main/java/com/baeldung/uuid/UuidHelper.java b/core-java-modules/core-java-8-2/src/main/java/com/baeldung/uuid/UuidHelper.java new file mode 100644 index 0000000000..5807262094 --- /dev/null +++ b/core-java-modules/core-java-8-2/src/main/java/com/baeldung/uuid/UuidHelper.java @@ -0,0 +1,33 @@ +package com.baeldung.uuid; + +import java.nio.ByteBuffer; +import java.util.Arrays; +import java.util.UUID; + +public class UuidHelper { + + public static byte[] convertUUIDToBytes(UUID uuid) { + ByteBuffer bb = ByteBuffer.wrap(new byte[16]); + bb.putLong(uuid.getMostSignificantBits()); + bb.putLong(uuid.getLeastSignificantBits()); + return bb.array(); + } + + public static UUID convertBytesToUUID(byte[] bytes) { + ByteBuffer byteBuffer = ByteBuffer.wrap(bytes); + long high = byteBuffer.getLong(); + long low = byteBuffer.getLong(); + return new UUID(high, low); + } + + public static void main(String[] args) { + UUID uuid = UUID.randomUUID(); + System.out.println("Original UUID: " + uuid); + + byte[] bytes = convertUUIDToBytes(uuid); + System.out.println("Converted byte array: " + Arrays.toString(bytes)); + + UUID uuidNew = convertBytesToUUID(bytes); + System.out.println("Converted UUID: " + uuidNew); + } +}