java生成4位流水号_java自动生成编号的实现(格式:yyMM+四位流水号)
时间: 2024-03-15 17:45:36 浏览: 15
可以使用Java中的SimpleDateFormat和AtomicInteger来实现自动生成编号的功能,具体实现代码如下:
```java
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.concurrent.atomic.AtomicInteger;
public class CodeGenerator {
private static final String PREFIX = "yyMM";
private static final int MAX_NUM = 9999;
private static final AtomicInteger SEQ = new AtomicInteger(0);
public static String generateCode() {
SimpleDateFormat sdf = new SimpleDateFormat(PREFIX);
String prefix = sdf.format(new Date());
int seq = SEQ.incrementAndGet() % MAX_NUM;
String seqStr = String.format("%04d", seq);
return prefix + seqStr;
}
public static void main(String[] args) {
for (int i = 0; i < 10; i++) {
System.out.println(generateCode());
}
}
}
```
以上代码中,PREFIX为编号的前缀,MAX_NUM为流水号的最大值,SEQ为AtomicInteger类型的计数器,用来生成流水号。generateCode()方法使用SimpleDateFormat获取当前年月作为编号的前缀,使用AtomicInteger生成流水号,并使用String.format()方法将流水号格式化为四位数字字符串,最后将编号前缀和流水号拼接起来作为最终的编号。运行main方法可以生成10个编号,输出如下:
```
2109-0001
2109-0002
2109-0003
2109-0004
2109-0005
2109-0006
2109-0007
2109-0008
2109-0009
2109-0010
```