如何在 Java 中生成随机字符串

2022-01-12 00:00:00 string random char java

我有一个名为 Student 的对象,它有 studentNamestudentIdstudentAddress 等.studentId,我必须生成由七个数字字符组成的随机字符串,例如.

I have an object called Student, and it has studentName, studentId, studentAddress, etc. For the studentId, I have to generate random string consist of seven numeric charaters, eg.

studentId = getRandomId();
studentId = "1234567" <-- from the random generator.

而且我必须确保没有重复的 id.

And I have to make sure that there is no duplicate id.

推荐答案

生成一个随机字符串很容易 - 只需使用 java.util.Random 和一个包含您想要的所有字符的字符串可用,例如

Generating a random string of characters is easy - just use java.util.Random and a string containing all the characters you want to be available, e.g.

public static String generateString(Random rng, String characters, int length)
{
    char[] text = new char[length];
    for (int i = 0; i < length; i++)
    {
        text[i] = characters.charAt(rng.nextInt(characters.length()));
    }
    return new String(text);
}

现在,为了唯一性,您需要将生成的字符串存储在某处.您如何做到这一点实际上取决于您的应用程序的其余部分.

Now, for uniqueness you'll need to store the generated strings somewhere. How you do that will really depend on the rest of your application.

相关文章