private static final String ALLOWED_CHARACTERS = "ABCD...789";
private static final Random RNG = new Random();
public static String getID() {
StringBuilder builder = new StringBuilder();
while (builder.length() < DESIRED_LENGTH) {
builder.append(ALLOWED_CHARACTERS.charAt((int)(RNG.nextDouble()*ALLOWED_CHARACTERS.length())));
}
return builder.toString();
}
# 1 楼答案
(您将想看看java中的Random类。它提供了非常有用的随机数
为了回答您的问题,我建议在ID中包含一个允许的字符字符串,并通过从允许的字符字符串中选择随机字符,使用StringBuilder构建一个新字符串。 差不多
此外,虽然不太可能,但您可能会得到一些副本。如果确实要防止重复,可以使用字符串的哈希集查看您的ID是否已被使用。通过将ID放入哈希集中,可以有效地检查是否已生成ID
# 2 楼答案
试试
UUID.randomUUID().toString();
# 3 楼答案
您可以使用SecureRandom类生成随机数。这个类出现在
java.security.SecureRandom
中。连接一些字母或单词以形成一个ID# 4 楼答案
试试这个: