最简单的方式是直接通过时间戳加随机数,怕重复可以在10000后面继续加0,加大随机的概率
String str = String.valueOf(System.currentTimeMillis());
str += (int)((Math.random() * 9 + 1) * 10000);
System.out.println(str);
结果如下:
162236492020618730
或者先转成常见的日期格式
SimpleDateFormat formatter = new SimpleDateFormat("yyyyMMddHHmmssSSS");
String str = formatter.format(new Date());
str += (int)((Math.random() * 9 + 1) * 10000);
System.out.println(str);
结果如下:
2021053016593373335154