Java⽣成订单号交易流⽔号分析:既然是订单号/交易流⽔号,⾸先是不能重复,其次需考虑到性能问题。
java生成随机数的方法设计如下:
"HF"+时间戳+随机数+循环数
代码如下:
1int x = 1000;
2for(int i=0;i<10;i++){
3 x+=1;
4 System.out.println("HF"+System.currentTimeMillis()+No(2)+x);
5 }
其中:RandomUtils类
stmon.util;
2
3import org.apachemons.lang.RandomStringUtils;
4
5public class RandomUtils
6 {
7private static String randString = "";
8
9public synchronized static String getNo(int k)
10 {
11if (randString.length() > 20000)
12 {
13 randString = "";
14 }
15 String rno = getNoNo(k);
16while (randString.indexOf(rno + ",") >= 0)
17 {
18 rno = getNoNo(k);
19 }
20 randString += rno + ",";
21return rno;
22 }
23
24private static String getNoNo(int k)
25 {
26try
27 {
28 Thread.sleep(1);
29 }
30catch (InterruptedException e)
31 {
32 e.printStackTrace();
33 }
34return RandomStringUtils.randomNumeric(k);
35 }
36 }
RandomUtils.java
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论