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小时内删除。