一个很简单的功能,我给他封装了一下
import java.util.Random;
public class RandomString {
public static final int FIGURE_onLY = 0;
public static final int FIGURE_LOWER_CASE = 1;
public static final int FIGURE_POWER_CASE = 2;
public static final int LOWER_CASE_onLY = 3;
public static final int POWER_CASE_onLY = 4;
public static final int LOWER_CASE_POWER_CASE = 5;
public static final int FIGURE_LOWER_CASE_POWER_CASE = 6;
private static final String CASE = "abcdefghijklmnopqrstuvwxyz";
private final int length;
private final int type;
public RandomString(int length, int type) {
this.length = length;
this.type = type;
}
public String createRandomString() {
StringBuilder builder = new StringBuilder();
Random random = new Random();
switch (type) {
case FIGURE_ONLY:
for (int i = 0; i < length; i++) {
builder.append(number());
}
return builder.toString();
case FIGURE_LOWER_CASE:
for (int i = 0; i < length; i++) {
builder.append(random.nextInt(2) == 0 ? number() : lowerCase());
}
return builder.toString();
case FIGURE_POWER_CASE:
for (int i = 0; i < length; i++) {
builder.append(random.nextInt(2) == 0 ? number() : powerCase());
}
return builder.toString();
case LOWER_CASE_ONLY:
for (int i = 0; i < length; i++) {
builder.append(lowerCase());
}
return builder.toString();
case POWER_CASE_ONLY:
for (int i = 0; i < length; i++) {
builder.append(powerCase());
}
return builder.toString();
case LOWER_CASE_POWER_CASE:
for (int i = 0; i < length; i++) {
builder.append(random.nextInt(2) == 0 ? lowerCase() : powerCase());
}
return builder.toString();
case FIGURE_LOWER_CASE_POWER_CASE:
int randomIndex;
for (int i = 0; i < length; i++) {
randomIndex = random.nextInt(3);
builder.append(randomIndex == 0 ? number() : randomIndex == 1 ? powerCase() : lowerCase());
}
return builder.toString();
default:
return "";
}
}
private static String number() {
return String.valueOf((new Random()).nextInt(10));
}
private static String lowerCase() {
return String.valueOf(CASE.charAt((new Random()).nextInt(CASE.length())));
}
private static String powerCase() {
return String.valueOf(Character.toUpperCase(CASE.charAt((new Random()).nextInt(CASE.length()))));
}
}
调用:
int strLength = 40; int strType = RandomString.FIGURE_LOWER_CASE; RandomString randomString = new RandomString(strLength, strType); String uid = randomString.createRandomString(); System.out.println(uid);
这个工具类我没把特殊字符放进去,有这个需要的可以自己加分支



