मैं UUID परिवर्तित कर रहा हूँ अगर मैं इस समारोह का उपयोग कर UUID पुन: बनाने की कोशिश करते हैं इस कोडपरिवर्तित UUID, कि जब UUID.nameUUIDFromBytes का उपयोग कर (ख)
public byte[] getIdAsByte(UUID uuid)
{
ByteBuffer bb = ByteBuffer.wrap(new byte[16]);
bb.putLong(uuid.getMostSignificantBits());
bb.putLong(uuid.getLeastSignificantBits());
return bb.array();
}
का उपयोग कर हालांकि, बाइट के लिए, काम करता है
public UUID frombyte(byte[] b)
{
return UUID.nameUUIDFromBytes(b);
}
यह एक ही यूयूआईडी नहीं है। एक randomUUID को पीछे और पीछे कनवर्ट करना दो अलग-अलग देता है।
UUID u = UUID.randomUUID();
System.out.println(u.toString());
System.out.println(frombyte(getIdAsByte(u)).toString());
प्रिंट:
1ae004cf-0f48-469f-8a94-01339afaec41
8b5d1a71-a4a0-3b46-bec3-13ab9ab12e8e
संबंधित, संभव डुप्लिकेट: [? क्या नाम स्थान JDK उपयोग nameUUIDFromBytes के साथ एक UUID उत्पन्न करने के लिए करता है] (http://stackoverflow.com/questions/9504519/what-namespace-does -the-jdk-use-to-gener-a-uuid-with-nameuuidfrombytes) –