Java生成一定规则递增编号

项目需求中有时需要生成一定规则递增编号。例如生成设备编号:设备类型+五位编号(从1开始,不够前补0),也就是SYXH000001/SYXH00002/SDOI00001类似这样。 
那么如何处理000001自增1变为000002呢?

实现代码:

package com.lyf.test;

public class Test2 {

    /**
     * 生成规则设备编号:设备类型+五位编号(从1开始,不够前补0)
     * 
     * @param equipmentType
     *              设备类型
     * @param equipmentNo
     *              最新设备编号
     * @return
     */
    public static String getNewEquipmentNo(String equipmentType, String equipmentNo){
        String newEquipmentNo = "00001";

        if(equipmentNo != null && !equipmentNo.isEmpty()){
            int newEquipment = Integer.parseInt(equipmentNo) + 1;
            newEquipmentNo = String.format(equipmentType + "%05d", newEquipment);
        }

        return newEquipmentNo;
    }

    public static void main(String[] args) {
        String equipmentNo = Test2.getNewEquipmentNo("SYXH", "00032");
        System.out.println("生成设备编号:" + equipmentNo);
    }

}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30

运行结果:

生成设备编号:SYXH00033
  • 1

从上面代码中可以看到,首先我们默认了一个初始设备编号,当传入方法的最新设备编号为null或是空时将使用。 
如果传入了数据库中最新设备编号,将首先Integer的parseInt()方法返回十进制整数,这样就可以对其+1。 
最后通过String的format()方法进行字符串格式化返回就可以了。

猜你喜欢

转载自blog.csdn.net/qq_39949109/article/details/80482923