首页 > 编程语言 >java 生成顺序的流水号

java 生成顺序的流水号

时间:2023-09-06 18:00:55浏览次数:36  
标签:顺序 java String counter System 流水号 suffix println out

java 生成顺序的流水号_流水号

package test.test;

import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import java.text.SimpleDateFormat;
import java.util.Date;

public class AutoBatchNumber {
    private final Logger logger= LoggerFactory.getLogger(this.getClass());
    private static String prefix ="ZD"; // 生成前缀
    private static int counter = 0; // 流水号计数器
    private static String timeCheck="20230901" ; // 时间验证


    public synchronized static String generate(String suffix) {
        StringBuilder stringBuilder=new StringBuilder();
        if(!timeCheck.contains(suffix)){
            System.out.println("--0-");
            counter=0;
            timeCheck=suffix;
        }
        counter++;
        //System.out.println("--1--"+String.format("%04d", counter));
        return stringBuilder.append(prefix).append(suffix).append(String.format("%04d", counter)).toString();
       // return prefix +time+ +suffix+String.format("%04d", counter); // 使用四位数字格式化流水号
    }

    public static void main(String[] args) {
        String suffix =new SimpleDateFormat("yyyyMMdd").format(new Date()); // 生成后缀
        //timeCheck=suffix;
        // 生成10个学号
        for (int i = 0; i < 10; i++) {
            String studentNumber = AutoBatchNumber.generate(suffix);
            System.out.println(studentNumber);
        }
//        String number="ZD202309060001";
//        System.out.println(number.length());
//        String old=number.substring(2,10);
//        System.out.println("old=="+old);
//        String lastChar = number.substring(10);
//        System.out.println("lastChar=="+lastChar);
//        Integer last=Integer.valueOf(lastChar)+1;
//        System.out.println("last=="+last);
//        System.out.println(String.format("%06d", 12345));
//        System.out.println(StringUtils.leftPad(last.toString(),4,"0"));   //000123
    }
}

标签:顺序,java,String,counter,System,流水号,suffix,println,out
From: https://blog.51cto.com/u_13478207/7389198

相关文章

  • 无涯教程-JavaScript - TIMEVALUE函数
    描述TIMEVALUE函数返回由文本字符串表示的时间的十进制数。十进制数字是一个介于0(零)到0.99988426之间的值,代表从0:00:00(12:00:00AM)到23:59:59(PM11:59:59)的时间。语法TIMEVALUE(time_text)争论Argument描述Required/OptionalTime_textAtextstringthatre......
  • Java设计模式-懒汉模式
    懒汉模式(LazyInitialization)是一种创建型设计模式,它用于在需要时才创建对象。这种模式的主要优点是节省资源,因为它只在真正需要对象时才创建实例。在Java中,懒汉模式可以通过使用静态内部类实现。以下是一个简单的Java懒汉模式示例:publicclassLazySingleton{//创建一个静......
  • java 分布式id生成工具类
    importlombok.extern.slf4j.Slf4j;importjava.lang.management.ManagementFactory;importjava.net.InetAddress;importjava.net.NetworkInterface;importjava.net.SocketException;importjava.net.UnknownHostException;importjava.util.concurrent.ThreadLocal......
  • 无涯教程-JavaScript - SECOND函数
    描述SECOND函数返回时间值的秒数。第二个数字以0(零)到59之间的整数形式给出。语法SECOND(serial_number)争论Argument描述Required/OptionalSerial_number您想找到包含秒数的时间。时间可以输入为-引号内的文本字符串(如"6:45PM")十进制数(如0.78125,代表......
  • Java获取请求者的真实ip地址
    在Java中,可以通过HttpServletRequest对象的getRemoteAddr()方法获取请求者的真实IP地址。以下是一个简单的示例:importjavax.servlet.http.HttpServletRequest;publicStringgetRealIpAddress(HttpServletRequestrequest){StringipAddress=request.getHeader("X-Fo......
  • .NET 序列化生成 JavaScriptSerializer Poc
    dot.NET安全矩阵星球群有位师傅问起如何才能生成和ysoserial一样的JavaScriptSerializer序列化poc,同Json.NET一样序列化使用了ObjectDataProvider类,ObjectInstance属性绑定实例化的Process对象,这里没有使用MethodParameters属性传递参数,而是使用ProcessStartInfo类FileName和Argum......
  • Java 与 Jvm
    JVM是跨语言的平台我们平常所说的Java字节码指的是使用Java语言编写的程序,通过Java编译器编译而成的字节码文件,但是,Java虚拟机根本不关心运行在其内部的程序是何种语言编写的,它只关心字节码文件,也就是说Java虚拟机拥有语言无关性,并不会单纯的与Java语言终身绑定......
  • 《Java架构师的第一性原理》65系统架构之架构设计方法论
     4规范(Musthave)规范一:非数据服务做到无状态,避免同一集群内的节点间有功能差异;做到实例可以被随时停止、重启、增加,并且完全不依赖于本地磁盘或者内存规范二:服务具备优雅重启规范三:服务提供的API建议采用http\grpc,json\pb规范,不建议其他自定义格式规范四......
  • java~掩码的应用
    掩码是一串二进制代码对目标字段进行位与运算掩码掩码通常是一个用于屏蔽或隐藏某些位的值,以便在计算中只关注感兴趣的位。掩码通常是一个由二进制位组成的数,用于按位与操作,以清除或保留某些位的值。常见的用途包括:位操作和位掩码:在计算机编程中,位掩码用于执行位操作,如按位......
  • JavaScript Date UTC & GMT All In One
    JavaScriptDateUTC&GMTAllInOnejs时期时区转换UTC&GMTCoordinatedUniversalTime/协调世界时UTC是最主要的世界时间标准,其以原子时的秒长为基础,在时刻上尽量接近于格林威治标准时间。UTC实际上与GMT基本相同.https://zh.wikipedia.org/zh-hans/协调世......