用Java代码实现一个12位的随机字符串,包含A-Z 0-9,全局唯一
时间: 2023-06-15 17:08:14 浏览: 148
可以使用Java中的UUID类来生成一个随机的唯一标识符,然后将其转换为一个包含A-Z 0-9的12位字符串。具体的实现代码如下:
```java
import java.util.UUID;
public class RandomStringGenerator {
public static String generate() {
UUID uuid = UUID.randomUUID();
String uuidStr = uuid.toString().replace("-", "");
StringBuilder sb = new StringBuilder();
for (int i = 0; i < 12; i++) {
int idx = Integer.parseInt(uuidStr.substring(i * 2, i * 2 + 2), 16) % 36;
if (idx < 10) {
sb.append((char) ('0' + idx));
} else {
sb.append((char) ('A' + idx - 10));
}
}
return sb.toString();
}
}
```
该代码中使用UUID类生成一个随机的唯一标识符,并将其转换为一个字符串。然后,使用一个循环来将该字符串转换为一个包含A-Z 0-9的12位字符串。在循环中,首先将标识符字符串按照每两个字符一组进行切分,然后将每一组转换为一个整数。由于随机标识符中包含了A-F的字符,因此需要将其转换为十进制数。最后,根据整数的值来选择对应的字符,并将其添加到最终的字符串中。
阅读全文