/**
* 获取当前时间的随机数,不会重复
*/
public synchronized static String getRandom()
{
String digths = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
int base = digths.length();
long now = new Date().getTime();
try {Thread.sleep(1);} catch (InterruptedException e) {e.printStackTrace();}
StringBuffer str = new StringBuffer("");
Stack<Character> s = new Stack<Character>();
while(now != 0){
s.push(digths.charAt((int)(now%base)));
now/=base;
}
while(!s.isEmpty()){
str.append(s.pop());
}
return str.toString();
}
由于时间是不会重复的,所以这个随机数永不重复,但是受限制的是每一秒钟只会生成1000个随机数。
测试 结果:本工具生成的随机数会生成7位区分大小写的随机数。