写道
在某些应用场景中,因业务需要,一般的流水号(前缀+日期或时间+流水号)规则无法满足业务需要,以下是因业务需要拓展出来的流水号生成规则
业务要求:
1.默认限定位数的数字递增
2.在限定位数数字达到全部为9的时候,用字母替换最后一位,数字归0再次递增
3.当字母长度为限定位数长度并且字母都为Z的时候,限定长度加1
预期结果(限定长度4位,从1开始):
0001...9999...001A...001B...001Z...01AZ..........1ZZZ...AZZZ..BZZZ..ZZZZ...10000
以下抛砖引玉,如有更好的方案欢迎各位留言
/**
*
*/
package org.ab.test;
import java.util.concurrent.atomic.AtomicInteger;
/**
* @Project ABComponents
* @Copyright © 2008-2014 SPRO Technology Consulting Limited. All rights reserved.
* @fileName org.ab.test.SeriNumber.java
* @Version 1.0.0
* @author Allan Ai
* @time 2014-4-2
*
*/
public class SeriNumber {
public static void sn(int len,Integer i,Stri