将String转换为UUID格式的字符串

Par*_*uti 0 java string formatting uuid utility

有没有可用于将纯字符串转换为UUID格式字符串的实用方法?

例如:

普通字符串: f424376fe38e496eb77d7841d915b074

UUID格式化字符串: f424376f-e38e-496e-b77d-7841d915b074

我只是想在不使用任何java逻辑的情况下转换为UUID格式,因此寻找java.lang,java.util或Apache等软件包中可用的预定义实用程序.

Vla*_*fer 11

您可以String.format按以下方式使用:

String plain = "f424376fe38e496eb77d7841d915b074";
String uuid = String.format("%1$-%2$-%3$-%4$", plain.substring(0,7), plain.substring(7,11), plain.substring(11,15), plain.substring(15,20));
Run Code Online (Sandbox Code Playgroud)

或者使用Apache Commons Codec(org.apache.commons.codec.binary.Hex类)和JDK(java.util.UUID类)的更多库方法:

byte[] data = Hex.decodeHex("f424376fe38e496eb77d7841d915b074".toCharArray());
String uuid = new UUID(ByteBuffer.wrap(data, 0, 8).getLong(), ByteBuffer.wrap(data, 8, 8).getLong()).toString();
Run Code Online (Sandbox Code Playgroud)