java使用uuid生成只有数字的唯一账号
时间: 2023-11-24 14:06:43 浏览: 76
自动生成主键uuid.zip
UUID本身是由32位的16进制数表示的,如果想要生成只有数字的唯一账号,可以将UUID转换为10进制数,然后去掉小数点和负号,最后截取前面的一定位数作为账号。
具体代码如下:
```java
import java.math.BigInteger;
import java.util.UUID;
public class UniqueAccountGenerator {
public static String generateAccount(int length) {
UUID uuid = UUID.randomUUID();
BigInteger bi = new BigInteger(uuid.toString().replace("-", ""), 16);
String account = bi.toString().replace("-", "").replace(".", "");
return account.substring(0, length);
}
public static void main(String[] args) {
String account = generateAccount(12);
System.out.println("Unique account: " + account);
}
}
```
在上面的代码中,`generateAccount`方法接受一个整数参数`length`,表示生成的唯一账号的长度。首先生成一个UUID,然后将其转换为16进制的字符串,再将其转换为`BigInteger`类型。最后将其转换为10进制字符串,去掉小数点和负号,并截取前面的一定位数作为账号。最后,调用`generateAccount`方法可以生成一个指定长度的唯一账号。
阅读全文