Java⽣成有规律不重复的随机编码
版权声明:本⽂为博主原创⽂章,未经博主允许不得转载。 blog.csdn/qq_30813955/article/details/79103351
1、需求⽣成有规律不重复的随机编码
2、解决随机⽣成不重复编码问题
3、编码如下:
/*
@param maxOrderno // 从数据库查询出的最⼤编号
*/
public static synchronized List getEncode(String maxOrderno,int count)
{
String Orderno = null;
SimpleDateFormat format = new SimpleDateFormat(“yyMMdd”); // 时间字符串产⽣⽅式
String uid_pfix = format.format(new Date()); // 组合流⽔号前⼀部分,时间字符串,如:20160126
if (maxOrderno != null && ains(uid_pfix)) {
String uid_end = maxOrderno.substring(6, 10); // 截取字符串最后四位,结果:0001
System.out.println(“uid_end=” + uid_end);
int endNum = Integer.parseInt(uid_end); // 把String类型的0001转化为int类型的1
System.out.println(“endNum=” + endNum);
java面试题csdnint tmpNum = 10000 + endNum + 1; // 结果10002
System.out.println(“tmpNum=” + tmpNum);
Orderno = uid_pfix + subStr(“” + tmpNum, 1);// 把10002⾸位的1去掉,再拼成201601260002字符串 }
else
{
Orderno = uid_pfix + “0001”;
}
List arry = new ArrayList();
arry.add(Orderno);
//批量⽣成多个
while (count>1)
{
Orderno = String.valueOf(Integer.im())+1);
arry.add(Orderno);
count–;
}
return arry;
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。