有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java为用户生成一个随机id

我想生成一个用户将使用的随机id,这意味着我希望每个用户都有一个,并且我希望它简单且完全随机(也不希望重复两次)


共 (4) 个答案

  1. # 1 楼答案

    (您将想看看java中的Random类。它提供了非常有用的随机数

    为了回答您的问题,我建议在ID中包含一个允许的字符字符串,并通过从允许的字符字符串中选择随机字符,使用StringBuilder构建一个新字符串。 差不多

    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();
    }
    

    此外,虽然不太可能,但您可能会得到一些副本。如果确实要防止重复,可以使用字符串的哈希集查看您的ID是否已被使用。通过将ID放入哈希集中,可以有效地检查是否已生成ID

  2. # 2 楼答案

    试试UUID.randomUUID().toString();

  3. # 3 楼答案

    您可以使用SecureRandom类生成随机数。这个类出现在java.security.SecureRandom中。连接一些字母或单词以形成一个ID

  4. # 4 楼答案

    试试这个:

    long id = System.currentTimeMillis();