function juid()
{
return((new Date().getTime()*10000+Math.random(1)*10000).toString(32)+(new Date().getTime()*10000+Math.random(1)*10000).toString(32)).substr(0,11)
}
{
return((new Date().getTime()*10000+Math.random(1)*10000).toString(32)+(new Date().getTime()*10000+Math.random(1)*10000).toString(32)).substr(0,11)
}
long time1 = date1.getTime() * 10000;
double ran1 = Math.random() * 10000;
String firstString = Double.toString(time1 + ran1);
System.out.println(firstString); Date date2 = new Date();
long time2 = date2.getTime() * 10000;
double ran2 = Math.random() * 10000;
String secondString = Double.toString(time2 + ran2);
System.out.println(secondString); String finalString = firstString + secondString;
System.out.println(finalString.substring(0, 11)); }
}
但是有一点不明,你将两个32位长的字符串组合在一起
最后只截取前11位,那么你的第二个字符串起什么作用呢??
public static void main(String[] args) {
// TODO Auto-generated method stub
Random rd = new Random();
System.out.println((Long.toString(new Date().getTime()*10000+rd.nextInt(1)*10000,32)+Long.toString(new Date().getTime()*10000+rd.nextInt(1)*10000,32)).substring(0,11));
}
Math.random(1) => rd.nextInt(1)
substr =》 substring()
基本就这3个