In the development of some tables to be numbered, and the number is unique, their own time generated under, I think there may be concurrency situation. So on-line check, is randomly generated. Here's how:
Method one (use the current time accurate to milliseconds, intercept any few )
Date date = new date ();
SimpleDateFormat SDF = new SimpleDateFormat ("yyyymmddhhmmssss");
String formdate =sdf.format (date);
System. out . println (formdate);
String no = formdate.substring (10);
System. out . println (no);
//Method two (randomly generated )
int [] Array ={0,1,2,3,4,5,6,7,8,9};
Random rand = new random ();
for (int i = ten; i > 1; i--) {
int index =rand.nextint (i);
int tmp =array[index];
Array[index] = array[i-1];
ARRAY[I-1] = tmp;
}
int result = 0;
for (int i = 0; i < 6; i++)
Result = result * + Array[i];
System. out . println (result);
//Method Three: 8-bit non-repeating random number using time stamp
Long nowdate = new Date (). GetTime ();
String sid = Integer. tohexstring ((int) nowdate);
System. out . println (SID);
/* Where: Thejava.lang.Integer.toHexString () method returns an integer with an unsigned integer base of 16
the string representation of the */parameter. The following characters are used as hexadecimal digits:0123456789ABCDEF. }
Java methods for generating non-repeating numbers