1. 程式人生 > >Java生成一定規則遞增編號

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()方法進行字串格式化返回就可以了。